Class: OpenFecApi::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/open_fec_api/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Response

Returns a new instance of Response.

Parameters:

  • response (HTTParty::Response)


6
7
8
9
10
11
12
# File 'lib/open_fec_api/response.rb', line 6

def initialize(response)
  @request = response.request
  @headers = response.headers
  @api_version = response["api_version"]
  @pagination = response["pagination"]
  @results = response["results"]
end

Instance Attribute Details

#api_versionObject (readonly)

Returns the value of attribute api_version.



3
4
5
# File 'lib/open_fec_api/response.rb', line 3

def api_version
  @api_version
end

#headersObject (readonly)

Returns the value of attribute headers.



3
4
5
# File 'lib/open_fec_api/response.rb', line 3

def headers
  @headers
end

#paginationObject (readonly)

Returns the value of attribute pagination.



3
4
5
# File 'lib/open_fec_api/response.rb', line 3

def pagination
  @pagination
end

#requestObject (readonly)

Returns the value of attribute request.



3
4
5
# File 'lib/open_fec_api/response.rb', line 3

def request
  @request
end

#resultsObject (readonly)

Returns the value of attribute results.



3
4
5
# File 'lib/open_fec_api/response.rb', line 3

def results
  @results
end

Instance Method Details

#first_result_nameObject



38
39
40
# File 'lib/open_fec_api/response.rb', line 38

def first_result_name
  results.first["name"]
end

#last_result_nameObject



42
43
44
# File 'lib/open_fec_api/response.rb', line 42

def last_result_name
  results.last["name"]
end

#limitObject



18
19
20
# File 'lib/open_fec_api/response.rb', line 18

def limit
  headers["x-ratelimit-limit"].to_i
end

#pageObject



26
27
28
# File 'lib/open_fec_api/response.rb', line 26

def page
  pagination["page"].to_i
end

#pagesObject



30
31
32
# File 'lib/open_fec_api/response.rb', line 30

def pages
  pagination["pages"].to_i
end

#remainingObject



22
23
24
# File 'lib/open_fec_api/response.rb', line 22

def remaining
  headers["x-ratelimit-remaining"].to_i
end

#request_queryObject



14
15
16
# File 'lib/open_fec_api/response.rb', line 14

def request_query
  request.options[:query]
end

#results_countObject



34
35
36
# File 'lib/open_fec_api/response.rb', line 34

def results_count
  results.count
end

#summaryObject



46
47
48
# File 'lib/open_fec_api/response.rb', line 46

def summary
  "PAGE #{page}/#{pages} -- RATE #{remaining}/#{limit} -- #{first_result_name} ... #{last_result_name}"
end