Skip to content

Instantly share code, notes, and snippets.

@jlturner
Created March 10, 2014 17:28
Show Gist options
  • Save jlturner/9469753 to your computer and use it in GitHub Desktop.
Save jlturner/9469753 to your computer and use it in GitHub Desktop.
require 'rest_client'
module HTTPFunc
def self.get(url=nil, error_callback=nil, &success_callback)
return ->() {
begin
response = RestClient.get url
if success_callback
success_callback.(response)
else
response
end
rescue
error_callback.() if error_callback
end
}
end
def self.post(url=nil, data=nil, error_callback=nil, &success_callback)
return ->() {
begin
response = RestClient.post url, data
if success_callback
success_callback.(response)
else
response
end
rescue
error_callback.() if error_callback
end
}
end
end
websites_functions = []
google = HTTPFunc.get("http://www.google.com") do |response|
puts "LOADED #{response.length} characters from goog"
end
websites_functions << google
yc = HTTPFunc.get("http://news.ycombinator.com") do |response|
puts "LOADED #{response.length} characters from yc"
end
websites_functions << yc
websites_functions.each do |website_func|
website_func.()
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment