Sha256: 03aeade65e3f811fa9b7712d2fbaf07f4873bd651e1330efd32eb88ab69e6e9c
Contents?: true
Size: 1.07 KB
Versions: 1
Compression:
Stored size: 1.07 KB
Contents
module ActiveScraper class AgnosticResponseObject < SimpleDelegator attr_reader :code, :headers, :body, :content_type def initialize(obj) if obj.class == (HTTParty::Response) # use the Net::HTTPResponse instead obj = obj.response end response_obj = if obj.is_a?(Net::HTTPResponse) @body = obj.body @content_type = obj.content_type @headers = obj.each_header.inject({}){|h, (k, v)| h[k] = v; h } @code = obj.code.to_i elsif obj.is_a?(ActiveScraper::Request) @body = obj.body @content_type = obj.content_type @headers = obj.headers @code = obj.code.to_i else # this is probably not used @body = obj.to_s @headers = {} @content_type = nil @code = nil end super({}) # now set its values [:body, :headers, :content_type, :code].each do |a| self[a] = self.send(a) end end # def [](k) # @values[k.to_sym] # end # def [](k,v) # send(:"#{k}=", v) # end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_scraper-0.0.1 | app/models/active_scraper/agnostic_response_object.rb |