wikibase_representable 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +18 -0
- data/README.md +25 -0
- data/Rakefile +10 -0
- data/lib/wikibase_representable/model/alias_group_list.rb +16 -0
- data/lib/wikibase_representable/model/data_value.rb +25 -0
- data/lib/wikibase_representable/model/entity_id.rb +27 -0
- data/lib/wikibase_representable/model/entity_id_value.rb +40 -0
- data/lib/wikibase_representable/model/item.rb +83 -0
- data/lib/wikibase_representable/model/property.rb +64 -0
- data/lib/wikibase_representable/model/property_value_snak.rb +34 -0
- data/lib/wikibase_representable/model/site_link.rb +28 -0
- data/lib/wikibase_representable/model/site_link_list.rb +16 -0
- data/lib/wikibase_representable/model/snak_data_value_helper.rb +24 -0
- data/lib/wikibase_representable/model/snak_list.rb +16 -0
- data/lib/wikibase_representable/model/statement.rb +69 -0
- data/lib/wikibase_representable/model/statement_data_value_helper.rb +24 -0
- data/lib/wikibase_representable/model/statement_list.rb +24 -0
- data/lib/wikibase_representable/model/term.rb +25 -0
- data/lib/wikibase_representable/model/term_list.rb +22 -0
- data/lib/wikibase_representable/model/time.rb +33 -0
- data/lib/wikibase_representable/model/time_value.rb +55 -0
- data/lib/wikibase_representable/model.rb +21 -0
- data/lib/wikibase_representable/representers/alias_group_list_representer.rb +15 -0
- data/lib/wikibase_representable/representers/data_value_representer.rb +15 -0
- data/lib/wikibase_representable/representers/entity_id_representer.rb +16 -0
- data/lib/wikibase_representable/representers/entity_id_value_representer.rb +18 -0
- data/lib/wikibase_representable/representers/item_representer.rb +34 -0
- data/lib/wikibase_representable/representers/property_representer.rb +31 -0
- data/lib/wikibase_representable/representers/property_value_snak_representer.rb +40 -0
- data/lib/wikibase_representable/representers/site_link_list_representer.rb +17 -0
- data/lib/wikibase_representable/representers/site_link_representer.rb +16 -0
- data/lib/wikibase_representable/representers/snak_list_representer.rb +15 -0
- data/lib/wikibase_representable/representers/statement_list_representer.rb +15 -0
- data/lib/wikibase_representable/representers/statement_representer.rb +28 -0
- data/lib/wikibase_representable/representers/term_list_representer.rb +17 -0
- data/lib/wikibase_representable/representers/term_representer.rb +19 -0
- data/lib/wikibase_representable/representers/time_representer.rb +19 -0
- data/lib/wikibase_representable/representers/time_value_representer.rb +17 -0
- data/lib/wikibase_representable/representers.rb +18 -0
- data/lib/wikibase_representable/version.rb +5 -0
- data/lib/wikibase_representable.rb +4 -0
- metadata +195 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'wikibase_representable/model/data_value'
|
4
|
+
|
5
|
+
module WikibaseRepresentable
|
6
|
+
module Model
|
7
|
+
# Data value object that represents a time value.
|
8
|
+
class TimeValue < DataValue
|
9
|
+
TYPE = 'time'
|
10
|
+
|
11
|
+
def initialize(value: nil)
|
12
|
+
super(type: TYPE, value: value)
|
13
|
+
end
|
14
|
+
|
15
|
+
def time
|
16
|
+
@value.time
|
17
|
+
end
|
18
|
+
|
19
|
+
def time_zone
|
20
|
+
@value.time_zone
|
21
|
+
end
|
22
|
+
|
23
|
+
def before
|
24
|
+
@value.before
|
25
|
+
end
|
26
|
+
|
27
|
+
def after
|
28
|
+
@value.after
|
29
|
+
end
|
30
|
+
|
31
|
+
def precision
|
32
|
+
@value.precision
|
33
|
+
end
|
34
|
+
|
35
|
+
def calendar_model
|
36
|
+
@value.calendar_model
|
37
|
+
end
|
38
|
+
|
39
|
+
def ==(other)
|
40
|
+
other.is_a?(self.class) &&
|
41
|
+
type == other.type &&
|
42
|
+
time == other.time &&
|
43
|
+
time_zone == other.time_zone &&
|
44
|
+
before == other.before &&
|
45
|
+
after == other.after &&
|
46
|
+
precision == other.precision &&
|
47
|
+
calendar_model == other.calendar_model
|
48
|
+
end
|
49
|
+
|
50
|
+
def eql?(other)
|
51
|
+
self == other
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'wikibase_representable/model/snak_data_value_helper'
|
4
|
+
require 'wikibase_representable/model/statement_data_value_helper'
|
5
|
+
|
6
|
+
require 'wikibase_representable/model/alias_group_list'
|
7
|
+
require 'wikibase_representable/model/data_value'
|
8
|
+
require 'wikibase_representable/model/entity_id'
|
9
|
+
require 'wikibase_representable/model/entity_id_value'
|
10
|
+
require 'wikibase_representable/model/item'
|
11
|
+
require 'wikibase_representable/model/property'
|
12
|
+
require 'wikibase_representable/model/property_value_snak'
|
13
|
+
require 'wikibase_representable/model/site_link'
|
14
|
+
require 'wikibase_representable/model/site_link_list'
|
15
|
+
require 'wikibase_representable/model/snak_list'
|
16
|
+
require 'wikibase_representable/model/statement'
|
17
|
+
require 'wikibase_representable/model/statement_list'
|
18
|
+
require 'wikibase_representable/model/term'
|
19
|
+
require 'wikibase_representable/model/term_list'
|
20
|
+
require 'wikibase_representable/model/time_value'
|
21
|
+
require 'wikibase_representable/model/time'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json/hash'
|
4
|
+
require 'wikibase_representable/representers/term_representer'
|
5
|
+
|
6
|
+
module WikibaseRepresentable
|
7
|
+
module Representers
|
8
|
+
# Representer for a hash of language_codes => term arrays
|
9
|
+
class AliasGroupListRepresenter < Representable::Decorator
|
10
|
+
include Representable::JSON::Hash
|
11
|
+
|
12
|
+
values decorator: TermRepresenter.for_collection, instance: ->(_fragment) { [] }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
|
5
|
+
module WikibaseRepresentable
|
6
|
+
module Representers
|
7
|
+
# Representer for data values
|
8
|
+
class DataValueRepresenter < Representable::Decorator
|
9
|
+
include Representable::JSON
|
10
|
+
|
11
|
+
property :value
|
12
|
+
property :type
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
|
5
|
+
module WikibaseRepresentable
|
6
|
+
module Representers
|
7
|
+
# Representer for data values representing entity IDs
|
8
|
+
class EntityIdRepresenter < Representable::Decorator
|
9
|
+
include Representable::JSON
|
10
|
+
|
11
|
+
property :entity_type, as: 'entity-type'
|
12
|
+
property :numeric_id, as: 'numeric-id'
|
13
|
+
property :id
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/entity_id_representer'
|
6
|
+
|
7
|
+
module WikibaseRepresentable
|
8
|
+
module Representers
|
9
|
+
# Representer for data values referring to entity IDs
|
10
|
+
class EntityIdValueRepresenter < Representable::Decorator
|
11
|
+
include Representable::JSON
|
12
|
+
include WikibaseRepresentable::Model
|
13
|
+
|
14
|
+
property :value, decorator: EntityIdRepresenter, class: EntityId
|
15
|
+
property :type
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/alias_group_list_representer'
|
6
|
+
require 'wikibase_representable/representers/site_link_list_representer'
|
7
|
+
require 'wikibase_representable/representers/statement_list_representer'
|
8
|
+
require 'wikibase_representable/representers/term_list_representer'
|
9
|
+
|
10
|
+
module WikibaseRepresentable
|
11
|
+
module Representers
|
12
|
+
# Representer for Wikibase items
|
13
|
+
class ItemRepresenter < Representable::Decorator
|
14
|
+
include Representable::JSON
|
15
|
+
include WikibaseRepresentable::Model
|
16
|
+
|
17
|
+
property :type
|
18
|
+
property :id
|
19
|
+
property :labels, decorator: TermListRepresenter,
|
20
|
+
class: TermList
|
21
|
+
property :descriptions, decorator: TermListRepresenter,
|
22
|
+
class: TermList
|
23
|
+
property :alias_groups, as: 'aliases',
|
24
|
+
decorator: AliasGroupListRepresenter,
|
25
|
+
class: AliasGroupList
|
26
|
+
property :statements, as: 'claims',
|
27
|
+
decorator: StatementListRepresenter,
|
28
|
+
class: StatementList
|
29
|
+
property :site_links, as: 'sitelinks',
|
30
|
+
decorator: SiteLinkListRepresenter,
|
31
|
+
class: SiteLinkList
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/alias_group_list_representer'
|
6
|
+
require 'wikibase_representable/representers/statement_list_representer'
|
7
|
+
require 'wikibase_representable/representers/term_list_representer'
|
8
|
+
|
9
|
+
module WikibaseRepresentable
|
10
|
+
module Representers
|
11
|
+
# Representer for Wikibase properties
|
12
|
+
class PropertyRepresenter < Representable::Decorator
|
13
|
+
include Representable::JSON
|
14
|
+
include WikibaseRepresentable::Model
|
15
|
+
|
16
|
+
property :type
|
17
|
+
property :data_type, as: 'datatype'
|
18
|
+
property :id
|
19
|
+
property :labels, decorator: TermListRepresenter,
|
20
|
+
class: TermList
|
21
|
+
property :descriptions, decorator: TermListRepresenter,
|
22
|
+
class: TermList
|
23
|
+
property :alias_groups, as: 'aliases',
|
24
|
+
decorator: AliasGroupListRepresenter,
|
25
|
+
class: AliasGroupList
|
26
|
+
property :statements, as: 'claims',
|
27
|
+
decorator: StatementListRepresenter,
|
28
|
+
class: StatementList
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/data_value_representer'
|
6
|
+
require 'wikibase_representable/representers/entity_id_value_representer'
|
7
|
+
require 'wikibase_representable/representers/time_value_representer'
|
8
|
+
|
9
|
+
module WikibaseRepresentable
|
10
|
+
module Representers
|
11
|
+
# Representer for property value snaks.
|
12
|
+
class PropertyValueSnakRepresenter < Representable::Decorator
|
13
|
+
include Representable::JSON
|
14
|
+
include WikibaseRepresentable::Model
|
15
|
+
|
16
|
+
property :type, as: 'snaktype'
|
17
|
+
property :property_id, as: 'property'
|
18
|
+
property :hash
|
19
|
+
property :data_value, as: 'datavalue', decorator: lambda { |input:, **|
|
20
|
+
if input.is_a? EntityIdValue
|
21
|
+
EntityIdValueRepresenter
|
22
|
+
elsif input.is_a? TimeValue
|
23
|
+
TimeValueRepresenter
|
24
|
+
else
|
25
|
+
DataValueRepresenter
|
26
|
+
end
|
27
|
+
}, class: lambda { |input:, **|
|
28
|
+
if input['type'] == EntityIdValue::TYPE
|
29
|
+
EntityIdValue
|
30
|
+
elsif input['type'] == TimeValue::TYPE
|
31
|
+
TimeValue
|
32
|
+
else
|
33
|
+
DataValue
|
34
|
+
end
|
35
|
+
}
|
36
|
+
|
37
|
+
collection_representer class: PropertyValueSnak
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json/hash'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/site_link_representer'
|
6
|
+
|
7
|
+
module WikibaseRepresentable
|
8
|
+
module Representers
|
9
|
+
# Representer for a hash of (siteid => sitelink)
|
10
|
+
class SiteLinkListRepresenter < Representable::Decorator
|
11
|
+
include Representable::JSON::Hash
|
12
|
+
include WikibaseRepresentable::Model
|
13
|
+
|
14
|
+
values decorator: SiteLinkRepresenter, class: SiteLink
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
|
5
|
+
module WikibaseRepresentable
|
6
|
+
module Representers
|
7
|
+
# Representer for sitelink objects
|
8
|
+
class SiteLinkRepresenter < Representable::Decorator
|
9
|
+
include Representable::JSON
|
10
|
+
|
11
|
+
property :site_id, as: 'siteid'
|
12
|
+
property :page_name, as: 'pagename'
|
13
|
+
collection :badges
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json/hash'
|
4
|
+
require 'wikibase_representable/representers/property_value_snak_representer'
|
5
|
+
|
6
|
+
module WikibaseRepresentable
|
7
|
+
module Representers
|
8
|
+
# Representer for a list of property value snaks.
|
9
|
+
class SnakListRepresenter < Representable::Decorator
|
10
|
+
include Representable::JSON::Hash
|
11
|
+
|
12
|
+
values decorator: PropertyValueSnakRepresenter.for_collection, instance: ->(_fragment) { [] }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json/hash'
|
4
|
+
require 'wikibase_representable/representers/statement_representer'
|
5
|
+
|
6
|
+
module WikibaseRepresentable
|
7
|
+
module Representers
|
8
|
+
# Representer for a hash of property IDs => statement arrays.
|
9
|
+
class StatementListRepresenter < Representable::Decorator
|
10
|
+
include Representable::JSON::Hash
|
11
|
+
|
12
|
+
values decorator: StatementRepresenter.for_collection, instance: ->(_fragment) { [] }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/property_value_snak_representer'
|
6
|
+
require 'wikibase_representable/representers/snak_list_representer'
|
7
|
+
|
8
|
+
module WikibaseRepresentable
|
9
|
+
module Representers
|
10
|
+
# Representer for a Wikibase statement (aka claim)
|
11
|
+
class StatementRepresenter < Representable::Decorator
|
12
|
+
include Representable::JSON
|
13
|
+
include WikibaseRepresentable::Model
|
14
|
+
|
15
|
+
property :main_snak, as: 'mainsnak',
|
16
|
+
decorator: PropertyValueSnakRepresenter,
|
17
|
+
class: PropertyValueSnak
|
18
|
+
property :type
|
19
|
+
property :qualifiers, decorator: SnakListRepresenter,
|
20
|
+
class: SnakList
|
21
|
+
property :qualifiers_order, as: 'qualifiers-order'
|
22
|
+
property :guid, as: 'id'
|
23
|
+
property :rank
|
24
|
+
|
25
|
+
collection_representer class: Statement
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json/hash'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
require 'wikibase_representable/representers/term_representer'
|
6
|
+
|
7
|
+
module WikibaseRepresentable
|
8
|
+
module Representers
|
9
|
+
# Representer for term lists
|
10
|
+
class TermListRepresenter < Representable::Decorator
|
11
|
+
include Representable::JSON::Hash
|
12
|
+
include WikibaseRepresentable::Model
|
13
|
+
|
14
|
+
values decorator: TermRepresenter, class: Term
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
require 'wikibase_representable/model'
|
5
|
+
|
6
|
+
module WikibaseRepresentable
|
7
|
+
module Representers
|
8
|
+
# Representer for a term object
|
9
|
+
class TermRepresenter < Representable::Decorator
|
10
|
+
include Representable::JSON
|
11
|
+
include WikibaseRepresentable::Model
|
12
|
+
|
13
|
+
property :language_code, as: 'language'
|
14
|
+
property :value
|
15
|
+
|
16
|
+
collection_representer class: Term
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'representable/json'
|
4
|
+
|
5
|
+
module WikibaseRepresentable
|
6
|
+
module Representers
|
7
|
+
# Representer for time objects
|
8
|
+
class TimeRepresenter < Representable::Decorator
|
9
|
+
include Representable::JSON
|
10
|
+
|
11
|
+
property :time
|
12
|
+
property :time_zone, as: 'timezone'
|
13
|
+
property :before
|
14
|
+
property :after
|
15
|
+
property :precision
|
16
|
+
property :calendar_model, as: 'calendarmodel'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'wikibase_representable/model'
|
4
|
+
require 'wikibase_representable/representers/time_representer'
|
5
|
+
|
6
|
+
module WikibaseRepresentable
|
7
|
+
module Representers
|
8
|
+
# Represents a time value object
|
9
|
+
class TimeValueRepresenter < Representable::Decorator
|
10
|
+
include Representable::JSON
|
11
|
+
include WikibaseRepresentable::Model
|
12
|
+
|
13
|
+
property :value, decorator: TimeRepresenter, class: Time
|
14
|
+
property :type
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'wikibase_representable/representers/alias_group_list_representer'
|
4
|
+
require 'wikibase_representable/representers/data_value_representer'
|
5
|
+
require 'wikibase_representable/representers/entity_id_value_representer'
|
6
|
+
require 'wikibase_representable/representers/entity_id_representer'
|
7
|
+
require 'wikibase_representable/representers/item_representer'
|
8
|
+
require 'wikibase_representable/representers/property_value_snak_representer'
|
9
|
+
require 'wikibase_representable/representers/property_representer'
|
10
|
+
require 'wikibase_representable/representers/site_link_list_representer'
|
11
|
+
require 'wikibase_representable/representers/site_link_representer'
|
12
|
+
require 'wikibase_representable/representers/snak_list_representer'
|
13
|
+
require 'wikibase_representable/representers/statement_list_representer'
|
14
|
+
require 'wikibase_representable/representers/statement_representer'
|
15
|
+
require 'wikibase_representable/representers/term_list_representer'
|
16
|
+
require 'wikibase_representable/representers/term_representer'
|
17
|
+
require 'wikibase_representable/representers/time_value_representer'
|
18
|
+
require 'wikibase_representable/representers/time_representer'
|
metadata
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wikibase_representable
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michael Holloway
|
8
|
+
bindir: exe
|
9
|
+
cert_chain: []
|
10
|
+
date: 2025-01-04 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: multi_json
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '1.15'
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - "~>"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '1.15'
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: representable
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '3.2'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '3.2'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: bundler
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2.5'
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.5'
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rake
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '13.2'
|
61
|
+
type: :development
|
62
|
+
prerelease: false
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '13.2'
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: rspec
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '3.13'
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '3.13'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: rubocop
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.69'
|
89
|
+
type: :development
|
90
|
+
prerelease: false
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.69'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: rubocop-rake
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0.6'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.6'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rubocop-rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '3.3'
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '3.3'
|
124
|
+
description: Provides Wikibase data model classes and support for serializing and
|
125
|
+
deserializing Wikibase entities to and from JSON.
|
126
|
+
email:
|
127
|
+
- michael@mdholloway.org
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- ".rubocop.yml"
|
133
|
+
- README.md
|
134
|
+
- Rakefile
|
135
|
+
- lib/wikibase_representable.rb
|
136
|
+
- lib/wikibase_representable/model.rb
|
137
|
+
- lib/wikibase_representable/model/alias_group_list.rb
|
138
|
+
- lib/wikibase_representable/model/data_value.rb
|
139
|
+
- lib/wikibase_representable/model/entity_id.rb
|
140
|
+
- lib/wikibase_representable/model/entity_id_value.rb
|
141
|
+
- lib/wikibase_representable/model/item.rb
|
142
|
+
- lib/wikibase_representable/model/property.rb
|
143
|
+
- lib/wikibase_representable/model/property_value_snak.rb
|
144
|
+
- lib/wikibase_representable/model/site_link.rb
|
145
|
+
- lib/wikibase_representable/model/site_link_list.rb
|
146
|
+
- lib/wikibase_representable/model/snak_data_value_helper.rb
|
147
|
+
- lib/wikibase_representable/model/snak_list.rb
|
148
|
+
- lib/wikibase_representable/model/statement.rb
|
149
|
+
- lib/wikibase_representable/model/statement_data_value_helper.rb
|
150
|
+
- lib/wikibase_representable/model/statement_list.rb
|
151
|
+
- lib/wikibase_representable/model/term.rb
|
152
|
+
- lib/wikibase_representable/model/term_list.rb
|
153
|
+
- lib/wikibase_representable/model/time.rb
|
154
|
+
- lib/wikibase_representable/model/time_value.rb
|
155
|
+
- lib/wikibase_representable/representers.rb
|
156
|
+
- lib/wikibase_representable/representers/alias_group_list_representer.rb
|
157
|
+
- lib/wikibase_representable/representers/data_value_representer.rb
|
158
|
+
- lib/wikibase_representable/representers/entity_id_representer.rb
|
159
|
+
- lib/wikibase_representable/representers/entity_id_value_representer.rb
|
160
|
+
- lib/wikibase_representable/representers/item_representer.rb
|
161
|
+
- lib/wikibase_representable/representers/property_representer.rb
|
162
|
+
- lib/wikibase_representable/representers/property_value_snak_representer.rb
|
163
|
+
- lib/wikibase_representable/representers/site_link_list_representer.rb
|
164
|
+
- lib/wikibase_representable/representers/site_link_representer.rb
|
165
|
+
- lib/wikibase_representable/representers/snak_list_representer.rb
|
166
|
+
- lib/wikibase_representable/representers/statement_list_representer.rb
|
167
|
+
- lib/wikibase_representable/representers/statement_representer.rb
|
168
|
+
- lib/wikibase_representable/representers/term_list_representer.rb
|
169
|
+
- lib/wikibase_representable/representers/term_representer.rb
|
170
|
+
- lib/wikibase_representable/representers/time_representer.rb
|
171
|
+
- lib/wikibase_representable/representers/time_value_representer.rb
|
172
|
+
- lib/wikibase_representable/version.rb
|
173
|
+
homepage: https://github.com/mdholloway/wikibase_representable
|
174
|
+
licenses:
|
175
|
+
- MIT
|
176
|
+
metadata:
|
177
|
+
rubygems_mfa_required: 'true'
|
178
|
+
rdoc_options: []
|
179
|
+
require_paths:
|
180
|
+
- lib
|
181
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '3.0'
|
186
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - ">="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
requirements: []
|
192
|
+
rubygems_version: 3.6.2
|
193
|
+
specification_version: 4
|
194
|
+
summary: Work with Wikibase data fluently in Ruby
|
195
|
+
test_files: []
|