class Hulse::HouseMember
Attributes
bioguide_id[R]
caucus_party[R]
committees[R]
courtesy[R]
district_code[R]
first_name[R]
footnote[R]
formal_name[R]
hometown[R]
is_vacant[R]
last_elected_date[R]
last_name[R]
middle_name[R]
office_building[R]
office_room[R]
office_zip[R]
official_name[R]
party[R]
phone[R]
predecessor[R]
sort_name[R]
state_name[R]
state_postal[R]
subcommittees[R]
suffix[R]
sworn_date[R]
vacancy_date[R]
Public Class Methods
create_from_xml(response)
click to toggle source
# File lib/hulse/house_member.rb, line 22 def self.create_from_xml(response) members = [] response['MemberData']['members']['member'].each do |member| if member['member_info']['elected_date']['date'] == '' footnote = member['member_info']['footnote'] predecessor = member['predecessor_info'] vacancy_date = Date.parse(member['predecessor_info']['pred_vacate_date']['date']) vacant = true else footnote, predecessor, vacancy_date = nil vacant = false end members << self.new(bioguide_id: member['member_info']['bioguideID'], sort_name: member['member_info']['sort_name'], last_name: member['member_info']['lastname'], first_name: member['member_info']['firstname'], middle_name: member['member_info']['middlename'], suffix: member['member_info']['suffix'], courtesy: member['member_info']['courtesy'], official_name: member['member_info']['official_name'], formal_name: member['member_info']['formal_name'], party: member['member_info']['party'], caucus_party: member['member_info']['caucus'], state_postal: member['member_info']['state']['postal_code'], state_name: member['member_info']['state']['state_fullname'], district: member['member_info']['district'], district_code: member['statedistrict'], hometown: member['member_info']['townname'], office_building: member['member_info']['office_building'], office_room: member['member_info']['office_room'], office_zip: member['member_info']['office_zip']+'-'+member['member_info']['office_zip_suffix'], phone: member['member_info']['phone'], last_elected_date: begin Date.parse(member['member_info']['elected_date']['date']) rescue nil end, sworn_date: begin Date.parse(member['member_info']['sworn_date']['date']) rescue nil end, committees: member['committee_assignments']['committee'], subcommittees: member['committee_assignments']['subcommittee'], is_vacant: vacant, footnote: footnote, predecessor: predecessor, vacancy_date: vacancy_date ) end members end end
current()
click to toggle source
# File lib/hulse/house_member.rb, line 15 def self.current url = "http://clerk.house.gov/xml/lists/MemberData.xml" response = HTTParty.get(url) self.create_from_xml(response) end
new(params={})
click to toggle source
# File lib/hulse/house_member.rb, line 9 def initialize(params={}) params.each_pair do |k,v| instance_variable_set("@#{k}", v) end end