module Google::Civic::Elections
Public Class Methods
for_zipcode(zipcode, client)
click to toggle source
# File lib/google-civic/elections.rb, line 9 def for_zipcode(zipcode, client) raise InvalidZipcode if not zipcode?(zipcode) elections_from_response collection(zipcode, client) end
Private Class Methods
collection(zipcode, client)
click to toggle source
# File lib/google-civic/elections.rb, line 22 def collection(zipcode, client) client.request(:elections, zipcode: zipcode) end
elections_from_response(response)
click to toggle source
# File lib/google-civic/elections.rb, line 16 def elections_from_response(response) response.body.fetch("elections").map do |election| Election.new(election) end end
zipcode?(zipcode)
click to toggle source
# File lib/google-civic/elections.rb, line 26 def zipcode?(zipcode) zipcode =~ /\A\d{5}(?:[-\s]\d{4})?\z/ end