Sha256: 469cc693e36d4166f65dd33eef2ab8ab2e46da539a1e781cae46d76b3b8bd3f2

Contents?: true

Size: 844 Bytes

Versions: 2

Compression:

Stored size: 844 Bytes

Contents

module Wikidata
  module Property
    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
      else
        puts "Unkown property type #{attribute.mainsnak.datatype}"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wikidata-client-0.0.11 lib/wikidata/property.rb
wikidata-client-0.0.10 lib/wikidata/property.rb