module OpenStates::Api

Public Instance Methods

bill(os_id) click to toggle source
# File lib/openstates/api.rb, line 21
def bill(os_id)
  url = "bills/#{os_id}/"
  get(url, {})
end
bills(options = {}) click to toggle source
# File lib/openstates/api.rb, line 9
def bills(options = {})
  url = 'bills/'
  if options[:state] && options[:session] && options[:bill_id]
    url << "#{options[:state]}/#{options[:session]}/#{options[:bill_id]}/"
    [:state, :session, :bill_id].each do |key|
      options.delete(key)
    end
  end

  get(url, options)
end
committees(options = {}) click to toggle source
# File lib/openstates/api.rb, line 39
def committees(options = {})
  url = 'committees/'
  url << "#{options[:committee_id]}/" if options[:committee_id]

  get(url, options)
end
district_boundaries(boundary_id) click to toggle source
# File lib/openstates/api.rb, line 63
def district_boundaries(boundary_id)
  return if !boundary_id

  url = "districts/boundary/#{boundary_id}/"

  get(url)
end
districts(options = {}) click to toggle source
# File lib/openstates/api.rb, line 53
def districts(options = {})
  return [] if !options[:state]

  url = 'districts/'
  url << "#{options[:state]}/"
  url << "#{options[:chamber]}/" if options[:chamber]

  get(url, options)
end
events(options = {}) click to toggle source
# File lib/openstates/api.rb, line 46
def events(options = {})
  url = 'events/'
  url << "#{options[:event_id]}/" if options[:event_id]

  get(url, options)
end
geo_legislators(lat, lon) click to toggle source
# File lib/openstates/api.rb, line 33
def geo_legislators(lat, lon)
  url = 'legislators/geo/'

  get(url, lat: lat, long: lon)
end
legislators(options = {}) click to toggle source
# File lib/openstates/api.rb, line 26
def legislators(options = {})
  url = 'legislators/'
  url << "#{options[:leg_id]}/" if options[:leg_id]

  get(url, options)
end
metadata(state = nil) click to toggle source
# File lib/openstates/api.rb, line 3
def metadata(state = nil)
  url = 'metadata/'
  url << "#{state}/" if state
  get(url)
end