Class: WikidataPositionHistory::MandateData

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

Overview

Date for a single mandate row, to be passed to the report template

Constant Summary collapse

CHECKS =
[Check::MissingFields, Check::Overlap,
Check::WrongPredecessor, Check::MissingPredecessor,
Check::WrongSuccessor, Check::MissingSuccessor].freeze

Instance Method Summary collapse

Constructor Details

#initialize(later, current, earlier) ⇒ MandateData

Returns a new instance of MandateData.



10
11
12
13
14
# File 'lib/wikidata_position_history/report.rb', line 10

def initialize(later, current, earlier)
  @later = later
  @current = current
  @earlier = earlier
end

Instance Method Details

#acting?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/wikidata_position_history/report.rb', line 32

def acting?
  current.acting?
end

#datesObject



25
26
27
28
29
30
# File 'lib/wikidata_position_history/report.rb', line 25

def dates
  dates = [current.start_date, current.end_date]
  return '' if dates.compact.empty?

  dates.join(' – ')
end

#ordinal_stringObject



16
17
18
19
# File 'lib/wikidata_position_history/report.rb', line 16

def ordinal_string
  ordinal = current.ordinal or return ''
  "#{ordinal}."
end

#personObject



21
22
23
# File 'lib/wikidata_position_history/report.rb', line 21

def person
  current.item
end

#warningsObject



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

def warnings
  CHECKS.map { |klass| klass.new(later, current, earlier) }.select(&:problem?)
end