class WikidataPositionHistory::OutputRow::RelatedPosition

Data for related position: e.g. Successor/Predecessor

Attributes

metadata[R]

Public Class Methods

new(metadata) click to toggle source
# File lib/wikidata_position_history/output_row.rb, line 108
def initialize(metadata)
  @metadata = metadata
end

Public Instance Methods

position() click to toggle source
# File lib/wikidata_position_history/output_row.rb, line 112
def position
  return if implied_list.empty?

  list = (implied_list.direct.map(&:qblink) + implied_list.indirect_only.map(&:qblink_i))
  return list.first if list.count == 1

  list.map { |item| "\n* #{item}" }.join
end
warnings() click to toggle source
# File lib/wikidata_position_history/output_row.rb, line 121
def warnings
  implied_list.indirect_only.map do |from|
    Warning.new('Indirect only', "{{PositionHolderHistory/#{indirect_warning_template}|from=#{from.id}|to=#{metadata.position.id}}}")
  end
end

Private Instance Methods

indirect_warning_template() click to toggle source
# File lib/wikidata_position_history/output_row.rb, line 131
def indirect_warning_template
  format('warning_indirect_%s', self.class.name.split('::').last.downcase)
end