Module: Wikidata::Property

Defined in:
lib/wikidata/property.rb,
lib/wikidata/property/url.rb,
lib/wikidata/property/base.rb,
lib/wikidata/property/time.rb,
lib/wikidata/property/string.rb,
lib/wikidata/property/globe_coordinate.rb

Defined Under Namespace

Classes: Base, GlobeCoordinate, String, Time, Url

Class Method Summary collapse

Class Method Details

.build(attribute) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/wikidata/property.rb', line 3

def self.build attribute
  return if %w{somevalue novalue}.include? attribute.mainsnak.snaktype
  case attribute.mainsnak.datatype
  when 'string'
    Wikidata::Property::String.new attribute
  when 'time'
    Wikidata::Property::Time.new attribute
  when 'globe-coordinate'
    Wikidata::Property::GlobeCoordinate.new attribute
  when 'url'
    Wikidata::Property::Url.new attribute
  when 'wikibase-item'
    Wikidata::Item.find Wikidata::Entity.entity_id(attribute)
  else
    puts "Unkown property type #{attribute.mainsnak.datatype}"
  end
end