Class: WikidataPositionHistory::Metadata

Inherits:
Object
  • Object
show all
Defined in:
lib/wikidata_position_history/report.rb

Overview

Data about the position itself, to be passed to the report template

Instance Method Summary collapse

Constructor Details

#initialize(rows) ⇒ Metadata

Returns a new instance of Metadata.



37
38
39
# File 'lib/wikidata_position_history/report.rb', line 37

def initialize(rows)
  @rows = rows
end

Instance Method Details

#abolitionObject



57
58
59
# File 'lib/wikidata_position_history/report.rb', line 57

def abolition
  @abolition ||= OutputRow::Abolition.new(self)
end

#abolition_datesObject



83
84
85
# File 'lib/wikidata_position_history/report.rb', line 83

def abolition_dates
  rows.map(&:abolition_date).compact.uniq(&:to_s).sort
end

#inceptionObject



53
54
55
# File 'lib/wikidata_position_history/report.rb', line 53

def inception
  @inception ||= OutputRow::Inception.new(self)
end

#inception_datesObject



79
80
81
# File 'lib/wikidata_position_history/report.rb', line 79

def inception_dates
  rows.map(&:inception_date).compact.uniq(&:to_s).sort
end

#legislator?Boolean

Returns:

  • (Boolean)


66
67
68
69
# File 'lib/wikidata_position_history/report.rb', line 66

def legislator?
  # this should be the same everywhere
  rows.map(&:legislator?).first
end

#positionObject



41
42
43
# File 'lib/wikidata_position_history/report.rb', line 41

def position
  rows.map(&:item).first
end

#position?Boolean

Returns:

  • (Boolean)


61
62
63
64
# File 'lib/wikidata_position_history/report.rb', line 61

def position?
  # this should be the same everywhere
  rows.map(&:position?).first
end

#predecessorObject



45
46
47
# File 'lib/wikidata_position_history/report.rb', line 45

def predecessor
  @predecessor ||= OutputRow::Predecessor.new(self)
end

#replaced_by_combinedObject



75
76
77
# File 'lib/wikidata_position_history/report.rb', line 75

def replaced_by_combined
  @replaced_by_combined ||= ImpliedList.new(uniq_by_id(:replaced_by), uniq_by_id(:derived_replaced_by))
end

#replaces_combinedObject



71
72
73
# File 'lib/wikidata_position_history/report.rb', line 71

def replaces_combined
  @replaces_combined ||= ImpliedList.new(uniq_by_id(:replaces), uniq_by_id(:derived_replaces))
end

#successorObject



49
50
51
# File 'lib/wikidata_position_history/report.rb', line 49

def successor
  @successor ||= OutputRow::Successor.new(self)
end