Class: WikidataPositionHistory::MandateRow
- Inherits:
-
Object
- Object
- WikidataPositionHistory::MandateRow
- Defined in:
- lib/sparql/mandates_query.rb
Overview
Represents a single row returned from the Mandates query
Instance Method Summary collapse
- #acting? ⇒ Boolean
- #end_date ⇒ Object
- #end_date_precision ⇒ Object
- #end_date_raw ⇒ Object
-
#initialize(row) ⇒ MandateRow
constructor
A new instance of MandateRow.
-
#item ⇒ Object
TODO: rename or remove.
- #nature ⇒ Object
- #next ⇒ Object
- #officeholder ⇒ Object
- #ordinal ⇒ Object
- #prev ⇒ Object
- #start_date ⇒ Object
- #start_date_precision ⇒ Object
- #start_date_raw ⇒ Object
Constructor Details
#initialize(row) ⇒ MandateRow
Returns a new instance of MandateRow.
32 33 34 |
# File 'lib/sparql/mandates_query.rb', line 32 def initialize(row) @row = row end |
Instance Method Details
#acting? ⇒ Boolean
61 62 63 |
# File 'lib/sparql/mandates_query.rb', line 61 def acting? nature == 'Q4676846' end |
#end_date ⇒ Object
71 72 73 74 75 |
# File 'lib/sparql/mandates_query.rb', line 71 def end_date return if end_date_raw.empty? QueryService::WikidataDate.new(end_date_raw, end_date_precision) end |
#end_date_precision ⇒ Object
89 90 91 |
# File 'lib/sparql/mandates_query.rb', line 89 def end_date_precision row.dig(:end_precision, :value) end |
#end_date_raw ⇒ Object
81 82 83 |
# File 'lib/sparql/mandates_query.rb', line 81 def end_date_raw row.dig(:end_date, :value).to_s[0..9] end |
#item ⇒ Object
TODO: rename or remove. ‘item’ is meaningless/ambiguous
45 46 47 |
# File 'lib/sparql/mandates_query.rb', line 45 def item officeholder.qlink end |
#nature ⇒ Object
57 58 59 |
# File 'lib/sparql/mandates_query.rb', line 57 def nature QueryService::WikidataItem.new(row.dig(:nature, :value)).id end |
#next ⇒ Object
53 54 55 |
# File 'lib/sparql/mandates_query.rb', line 53 def next QueryService::WikidataItem.new(row.dig(:next, :value)).qlink end |
#officeholder ⇒ Object
40 41 42 |
# File 'lib/sparql/mandates_query.rb', line 40 def officeholder QueryService::WikidataItem.new(row.dig(:item, :value)) end |
#ordinal ⇒ Object
36 37 38 |
# File 'lib/sparql/mandates_query.rb', line 36 def ordinal row.dig(:ordinal, :value) end |
#prev ⇒ Object
49 50 51 |
# File 'lib/sparql/mandates_query.rb', line 49 def prev QueryService::WikidataItem.new(row.dig(:prev, :value)).qlink end |
#start_date ⇒ Object
65 66 67 68 69 |
# File 'lib/sparql/mandates_query.rb', line 65 def start_date return if start_date_raw.empty? QueryService::WikidataDate.new(start_date_raw, start_date_precision) end |
#start_date_precision ⇒ Object
85 86 87 |
# File 'lib/sparql/mandates_query.rb', line 85 def start_date_precision row.dig(:start_precision, :value) end |
#start_date_raw ⇒ Object
77 78 79 |
# File 'lib/sparql/mandates_query.rb', line 77 def start_date_raw row.dig(:start_date, :value).to_s[0..9] end |