Module: Wikidata::Property
- Defined in:
- lib/wikidata/property.rb,
lib/wikidata/property/url.rb,
lib/wikidata/property/base.rb,
lib/wikidata/property/hash.rb,
lib/wikidata/property/time.rb,
lib/wikidata/property/string.rb,
lib/wikidata/property/quantity.rb,
lib/wikidata/property/commons_media.rb,
lib/wikidata/property/globe_coordinate.rb,
lib/wikidata/property/monolingual_text.rb
Defined Under Namespace
Classes: Base, CommonsMedia, GlobeCoordinate, Hash, MonolingualText, Quantity, 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 20 21 22 23 24 25 26 |
# 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', 'external-id' 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) when 'commonsMedia' Wikidata::Property::CommonsMedia.new attribute when 'monolingualtext' Wikidata::Property::MonolingualText.new attribute when 'quantity' Wikidata::Property::Quantity.new attribute else puts "Unkown property type #{attribute.mainsnak.datatype}" end end |