Class: WikibaseRepresentable::Model::Statement

Inherits:
Object
  • Object
show all
Includes:
StatementDataValueHelper
Defined in:
lib/wikibase_representable/model/statement.rb

Overview

Class representing a Wikibase statement. See www.mediawiki.org/wiki/Wikibase/DataModel#Statements

Constant Summary collapse

TYPE =
'statement'
RANK_PREFERRED =
'preferred'
RANK_NORMAL =
'normal'
RANK_DEPRECATED =
'deprecated'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from StatementDataValueHelper

#data_value, #entity_id_value, #time_value, #value_type?

Constructor Details

#initialize(**kwargs) ⇒ Statement

Returns a new instance of Statement.



20
21
22
23
24
25
26
27
# File 'lib/wikibase_representable/model/statement.rb', line 20

def initialize(**kwargs)
  @main_snak = kwargs[:main_snak]
  @type = kwargs[:type] || TYPE
  @qualifiers = kwargs[:qualifiers]
  @qualifiers_order = kwargs[:qualifiers_order]
  @guid = kwargs[:guid]
  @rank = kwargs[:rank] || RANK_NORMAL
end

Instance Attribute Details

#guidObject

Returns the value of attribute guid.



18
19
20
# File 'lib/wikibase_representable/model/statement.rb', line 18

def guid
  @guid
end

#main_snakObject

Returns the value of attribute main_snak.



18
19
20
# File 'lib/wikibase_representable/model/statement.rb', line 18

def main_snak
  @main_snak
end

#qualifiersObject

Returns the value of attribute qualifiers.



18
19
20
# File 'lib/wikibase_representable/model/statement.rb', line 18

def qualifiers
  @qualifiers
end

#qualifiers_orderObject

Returns the value of attribute qualifiers_order.



18
19
20
# File 'lib/wikibase_representable/model/statement.rb', line 18

def qualifiers_order
  @qualifiers_order
end

#rankObject

Returns the value of attribute rank.



18
19
20
# File 'lib/wikibase_representable/model/statement.rb', line 18

def rank
  @rank
end

#typeObject

Returns the value of attribute type.



18
19
20
# File 'lib/wikibase_representable/model/statement.rb', line 18

def type
  @type
end

Instance Method Details

#==(other) ⇒ Object



45
46
47
# File 'lib/wikibase_representable/model/statement.rb', line 45

def ==(other)
  other.class == self.class && other.state == state
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/wikibase_representable/model/statement.rb', line 49

def eql?(other)
  self == other
end

#property_idObject



37
38
39
# File 'lib/wikibase_representable/model/statement.rb', line 37

def property_id
  main_snak.property_id
end

#qualifiers_by_property_id(property_id) ⇒ Object



33
34
35
# File 'lib/wikibase_representable/model/statement.rb', line 33

def qualifiers_by_property_id(property_id)
  qualifiers&.snaks_by_property_id(property_id)
end

#qualifiers_by_property_id?(property_id) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/wikibase_representable/model/statement.rb', line 29

def qualifiers_by_property_id?(property_id)
  qualifiers&.snaks_by_property_id?(property_id)
end

#stateObject



41
42
43
# File 'lib/wikibase_representable/model/statement.rb', line 41

def state
  [main_snak, type, qualifiers, qualifiers_order, guid, rank]
end