class Everypolitician::Popolo::Person
Public Instance Methods
birth_date()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 35 def birth_date document.fetch(:birth_date, nil) end
contact(type)
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 63 def contact(type) contact_details.find(-> { {} }) { |i| i[:type] == type }[:value] end
contact_details()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 59 def contact_details document.fetch(:contact_details, []) end
death_date()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 39 def death_date document.fetch(:death_date, nil) end
email()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 15 def email document.fetch(:email, nil) end
facebook()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 79 def facebook link('facebook') end
family_name()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 87 def family_name document.fetch(:family_name, nil) end
fax()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 71 def fax contact('fax') end
gender()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 23 def gender document.fetch(:gender, nil) end
given_name()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 91 def given_name document.fetch(:given_name, nil) end
honorific_prefix()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 43 def honorific_prefix document.fetch(:honorific_prefix, nil) end
honorific_suffix()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 47 def honorific_suffix document.fetch(:honorific_suffix, nil) end
image()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 19 def image document.fetch(:image, nil) end
images()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 99 def images document.fetch(:images, []) end
link(type)
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 55 def link(type) links.find(-> { {} }) { |i| i[:note] == type }[:url] end
links()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 51 def links document.fetch(:links, []) end
memberships()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 123 def memberships popolo.memberships.where(person_id: id) end
name()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 11 def name document.fetch(:name, nil) end
name_at(date)
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 111 def name_at(date) return name unless key?(:other_names) historic = other_names.select { |n| n.key?(:end_date) } return name if historic.empty? at_date = historic.select do |n| n[:end_date] >= date && (n[:start_date] || '0000-00-00') <= date end return name if at_date.empty? fail Error, "Too many names at #{date}: #{at_date}" if at_date.count > 1 at_date.first[:name] end
national_identity()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 27 def national_identity document.fetch(:national_identity, nil) end
other_names()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 103 def other_names document.fetch(:other_names, []) end
patronymic_name()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 95 def patronymic_name document.fetch(:patronymic_name, nil) end
phone()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 67 def phone contact('phone') end
sort_name()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 83 def sort_name name end
sources()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 107 def sources document.fetch(:sources, []) end
summary()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 31 def summary document.fetch(:summary, nil) end
twitter()
click to toggle source
# File lib/everypolitician/popolo/person.rb, line 75 def twitter contact('twitter') || link('twitter') end