Class: Everypolitician::Popolo::Membership

Inherits:
Entity
  • Object
show all
Defined in:
lib/everypolitician/popolo/membership.rb

Instance Attribute Summary

Attributes inherited from Entity

#document, #popolo

Instance Method Summary collapse

Methods inherited from Entity

#[], classification, #id, #identifier, #identifiers, inherited, #initialize, #key?, subclasses, #wikidata

Constructor Details

This class inherits a constructor from Everypolitician::Popolo::Entity

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



68
69
70
# File 'lib/everypolitician/popolo/membership.rb', line 68

def ==(other)
  self.class == other.class && instance_variables.all? { |v| instance_variable_get(v) == other.instance_variable_get(v) }
end

#areaObject



60
61
62
# File 'lib/everypolitician/popolo/membership.rb', line 60

def area
  popolo.areas.find_by(id: area_id)
end

#area_idObject



16
17
18
# File 'lib/everypolitician/popolo/membership.rb', line 16

def area_id
  document.fetch(:area_id, nil)
end

#end_dateObject



36
37
38
# File 'lib/everypolitician/popolo/membership.rb', line 36

def end_date
  document.fetch(:end_date, nil)
end

#legislative_periodObject Also known as: term



48
49
50
# File 'lib/everypolitician/popolo/membership.rb', line 48

def legislative_period
  popolo.events.find_by(id: legislative_period_id)
end

#legislative_period_idObject



20
21
22
# File 'lib/everypolitician/popolo/membership.rb', line 20

def legislative_period_id
  document.fetch(:legislative_period_id, nil)
end

#on_behalf_ofObject Also known as: party



54
55
56
# File 'lib/everypolitician/popolo/membership.rb', line 54

def on_behalf_of
  popolo.organizations.find_by(id: on_behalf_of_id)
end

#on_behalf_of_idObject



8
9
10
# File 'lib/everypolitician/popolo/membership.rb', line 8

def on_behalf_of_id
  document.fetch(:on_behalf_of_id, nil)
end

#organizationObject



44
45
46
# File 'lib/everypolitician/popolo/membership.rb', line 44

def organization
  popolo.organizations.find_by(id: organization_id)
end

#organization_idObject



12
13
14
# File 'lib/everypolitician/popolo/membership.rb', line 12

def organization_id
  document.fetch(:organization_id, nil)
end

#personObject



40
41
42
# File 'lib/everypolitician/popolo/membership.rb', line 40

def person
  popolo.persons.find_by(id: person_id)
end

#person_idObject



4
5
6
# File 'lib/everypolitician/popolo/membership.rb', line 4

def person_id
  document.fetch(:person_id, nil)
end

#postObject



64
65
66
# File 'lib/everypolitician/popolo/membership.rb', line 64

def post
  popolo.posts.find_by(id: post_id)
end

#post_idObject



24
25
26
# File 'lib/everypolitician/popolo/membership.rb', line 24

def post_id
  document.fetch(:post_id, nil)
end

#roleObject



28
29
30
# File 'lib/everypolitician/popolo/membership.rb', line 28

def role
  document.fetch(:role, nil)
end

#start_dateObject



32
33
34
# File 'lib/everypolitician/popolo/membership.rb', line 32

def start_date
  document.fetch(:start_date, nil)
end