class Everypolitician::Popolo::JSON

Attributes

popolo[R]

Public Class Methods

new(popolo) click to toggle source
# File lib/everypolitician/popolo.rb, line 24
def initialize(popolo)
  @popolo = popolo
end

Public Instance Methods

areas() click to toggle source
# File lib/everypolitician/popolo.rb, line 36
def areas
  @areas ||= Areas.new(popolo[:areas], self)
end
current_legislative_period()
current_term()
elections() click to toggle source
# File lib/everypolitician/popolo.rb, line 53
def elections
  @elections ||= events.elections
end
events() click to toggle source
# File lib/everypolitician/popolo.rb, line 40
def events
  # do the sorting at the popolo level so we still get an Events object back
  @events ||= Events.new(popolo[:events].to_a.sort_by { |e| e[:start_date] }, self)
end
latest_legislative_period() click to toggle source
# File lib/everypolitician/popolo.rb, line 62
def latest_legislative_period
  legislative_periods.max_by(&:start_date)
end
latest_term()
legislative_periods() click to toggle source
# File lib/everypolitician/popolo.rb, line 57
def legislative_periods
  @legislative_periods ||= events.legislative_periods
end
Also aliased as: terms
memberships() click to toggle source
# File lib/everypolitician/popolo.rb, line 49
def memberships
  @memberships ||= Memberships.new(popolo[:memberships], self)
end
organizations() click to toggle source
# File lib/everypolitician/popolo.rb, line 32
def organizations
  @organizations ||= Organizations.new(popolo[:organizations], self)
end
persons() click to toggle source
# File lib/everypolitician/popolo.rb, line 28
def persons
  @persons ||= People.new(popolo[:persons], self)
end
posts() click to toggle source
# File lib/everypolitician/popolo.rb, line 45
def posts
  @posts ||= Posts.new(popolo[:posts], self)
end
terms()
Alias for: legislative_periods