Class: NYTimes::Congress::Congress
- Includes:
- AttributeTransformation
- Defined in:
- lib/ny-times/congress/congress.rb
Constant Summary
Constants inherited from Base
Base::API_BASE, Base::API_NAME, Base::API_SERVER, Base::API_VERSION
Instance Attribute Summary collapse
-
#chamber ⇒ Object
readonly
Returns the value of attribute chamber.
-
#number ⇒ Object
readonly
Returns the value of attribute number.
Instance Method Summary collapse
-
#initialize(number, chamber) ⇒ Congress
constructor
A new instance of Congress.
- #members(params = {}) ⇒ Object
- #roll_call_vote(session_number, roll_call_number, params = {}) ⇒ Object
- #to_s ⇒ Object
Methods included from AttributeTransformation
#date_for, #do_transformation, #empty?, #integer_for, #positions_for, #roles_for, #string_for, #symbol_for, #transform, #votes_for
Methods inherited from Base
api_key, api_key=, build_request_url, copyright, define_lazy_reader_for_attribute_named, invoke
Constructor Details
#initialize(number, chamber) ⇒ Congress
Returns a new instance of Congress.
7 8 9 10 11 |
# File 'lib/ny-times/congress/congress.rb', line 7 def initialize(number, chamber) @number = integer_for(number) @chamber = symbol_for(chamber) raise AttributeError unless number && chamber end |
Instance Attribute Details
#chamber ⇒ Object (readonly)
Returns the value of attribute chamber.
4 5 6 |
# File 'lib/ny-times/congress/congress.rb', line 4 def chamber @chamber end |
#number ⇒ Object (readonly)
Returns the value of attribute number.
4 5 6 |
# File 'lib/ny-times/congress/congress.rb', line 4 def number @number end |
Instance Method Details
#members(params = {}) ⇒ Object
13 14 15 |
# File 'lib/ny-times/congress/congress.rb', line 13 def members(params = {}) @members ||= fetch_members end |
#roll_call_vote(session_number, roll_call_number, params = {}) ⇒ Object
17 18 19 20 21 |
# File 'lib/ny-times/congress/congress.rb', line 17 def roll_call_vote(session_number, roll_call_number, params = {}) results = Base.invoke("#{api_path}/sessions/#{session_number}/votes/#{roll_call_number}.json")['results']['votes']['vote'] results.merge!({'chamber' => chamber}) # TODO 'chamber' is missing from RollCallVote JSON results for some reason RollCallVote.new(results) end |
#to_s ⇒ Object
23 24 25 |
# File 'lib/ny-times/congress/congress.rb', line 23 def to_s "#{number} #{chamber.upcase}" end |