class Harpy::Client
Attributes
options[RW]
Public Class Methods
new(opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 8 def initialize(opts=nil) self.options = (opts || {}) end
Public Instance Methods
delete(url_or_urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 32 def delete(url_or_urls, opts=nil) request :delete, url_or_urls, opts end
get(url_or_urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 12 def get(url_or_urls, opts=nil) request :get, url_or_urls, opts end
head(url_or_urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 16 def head(url_or_urls, opts=nil) request :head, url_or_urls, opts end
invalid_code(response)
click to toggle source
# File lib/harpy/client.rb, line 42 def invalid_code(response) if response.timed_out? raise ClientTimeout elsif response.code.zero? raise ClientError, response.return_message else raise InvalidResponseCode, response.code.to_s end end
patch(url_or_urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 28 def patch(url_or_urls, opts=nil) request :patch, url_or_urls, opts end
post(url_or_urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 20 def post(url_or_urls, opts=nil) request :post, url_or_urls, opts end
put(url_or_urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 24 def put(url_or_urls, opts=nil) request :put, url_or_urls, opts end
run(requests)
click to toggle source
# File lib/harpy/client.rb, line 36 def run(requests) requests.each{|request| Typhoeus::Hydra.hydra.queue request} Typhoeus::Hydra.hydra.run requests.collect(&:response) end
Private Instance Methods
request(method, urls, opts=nil)
click to toggle source
# File lib/harpy/client.rb, line 54 def request(method, urls, opts=nil) opts = options.deep_merge(opts || {}) case urls when Array requests = urls.collect do |url| Typhoeus::Request.new url, opts.merge(:method => method) end else Typhoeus::Request.send method, urls, opts end end