Class: Proxtopus::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/proxtopus/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, response) ⇒ Resource

Returns a new instance of Resource.

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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

Instance Attribute Details

#elementsObject (readonly)

Returns the value of attribute elements.



4
5
6
# File 'lib/proxtopus/resource.rb', line 4

def elements
  @elements
end

#formatObject (readonly)

Returns the value of attribute format.



4
5
6
# File 'lib/proxtopus/resource.rb', line 4

def format
  @format
end

#paramsObject (readonly)

Returns the value of attribute params.



4
5
6
# File 'lib/proxtopus/resource.rb', line 4

def params
  @params
end

#urlObject (readonly)

Returns the value of attribute url.



4
5
6
# File 'lib/proxtopus/resource.rb', line 4

def url
  @url
end

Instance Method Details

#==(other) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
# 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

#collectObject



36
37
38
39
40
41
42
43
44
# 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

#uriObject



46
47
48
49
50
# File 'lib/proxtopus/resource.rb', line 46

def uri
  uri = URI(@url.to_s)
  uri.query = URI.encode_www_form(@params)
  uri
end