class Proxtopus::Resource

Attributes

elements[R]
format[R]
params[R]
url[R]

Public Class Methods

new(request, response) click to toggle source
# File lib/proxtopus/resource.rb, line 6
def initialize(request, response)
  raise ArgumentError, "Resource.new() expects request as a hash of config values!" if !request.is_a?(Hash)
  raise ArgumentError, "Resource.new() expects response as a hash of config values!" if !response.is_a?(Hash)

  #@request = resource[:request]               || raise(ArgumentError, "Resource must have a specified request hash!")
  #@response = resource[:response]             || raise(ArgumentError, "Resource must have a specified resource hash!")
  @url = request[:url]                        || raise(ArgumentError, "Resource must have a specified request url!")
  @params = request[:params]                  || nil
  @format = response[:format]                 || raise(ArgumentError, "Resource must have a specified resource format!")
  @elements = response[:elements]             || raise(ArgumentError, "Resource must have a specified resource set of elemenra!")

  #if resource.is_a?(Proxtopus::Resource)
  #  @request = resource.request
  #  @response = resource.response
  #  @url = resource.url
  #  @params = resource.params
  #  @format = resource.format
  #  @elements = resource.elements
  #elsif resource.is_a?(Hash)
  #  @request = resource[:request]               || raise(ArgumentError, "Resource must have a specified request hash!")
  #  @response = resource[:response]             || raise(ArgumentError, "Resource must have a specified resource hash!")
  #  @url = resource[:request][:url]             || raise(ArgumentError, "Resource must have a specified request url!")
  #  @params = resource[:request][:params]       || raise(ArgumentError, "Resource must have a specified request param!")
  #  @format = resource[:response][:format]      || raise(ArgumentError, "Resource must have a specified resource format!")
  #  @elements = resource[:response][:elements]  || raise(ArgumentError, "Resource must have a specified resource set of elemenra!")
  #else
  #  raise ArgumentError, "Resource.new() expects resource as a Proxtopus::Resource or Hash!"
  #end
end

Public Instance Methods

==(other) click to toggle source
# File lib/proxtopus/resource.rb, line 52
def ==(other)
  if other.is_a?(Proxtopus::Resource)
    if @url == other.url && @params == other.params
      true
    else
      false
    end
  else
    false
  end
end
collect() click to toggle source
# File lib/proxtopus/resource.rb, line 36
def collect
  #request = Request.new(self)
  #results = Request.new(self).response.parsed
  #puts "[RESULTS]"
  #puts results.inspect
  #puts
  #puts
  #results
end
uri() click to toggle source
# File lib/proxtopus/resource.rb, line 46
def uri
  uri = URI(@url.to_s)
  uri.query = URI.encode_www_form(@params)
  uri
end