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.



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

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



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

def first_result_name
  results.first["name"]
end

#last_result_nameObject



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

def last_result_name
  results.last["name"]
end

#limitObject



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

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

#pageObject



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

def page
  pagination["page"].to_i
end

#pagesObject



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

def pages
  pagination["pages"].to_i
end

#remainingObject



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

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

#request_queryObject



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

def request_query
  request.options[:query]
end

#results_countObject



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

def results_count
  results.count
end

#summaryObject



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

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