w3c_api 0.1.2 → 0.1.3
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 +4 -4
- data/.rubocop_todo.yml +16 -9
- data/README.adoc +189 -244
- data/lib/w3c_api/cli.rb +4 -0
- data/lib/w3c_api/client.rb +23 -4
- data/lib/w3c_api/commands/specification_version.rb +38 -0
- data/lib/w3c_api/hal.rb +203 -152
- data/lib/w3c_api/models/affiliation.rb +12 -0
- data/lib/w3c_api/models/affiliation_index.rb +1 -0
- data/lib/w3c_api/models/deliverer_index.rb +12 -0
- data/lib/w3c_api/models/editor_index.rb +12 -0
- data/lib/w3c_api/models/group.rb +25 -1
- data/lib/w3c_api/models/groups.rb +32 -0
- data/lib/w3c_api/models/serie.rb +12 -0
- data/lib/w3c_api/models/spec_version.rb +4 -4
- data/lib/w3c_api/models/spec_version_index.rb +0 -3
- data/lib/w3c_api/models/spec_version_predecessor_index.rb +11 -0
- data/lib/w3c_api/models/spec_version_successor_index.rb +11 -0
- data/lib/w3c_api/models/specification.rb +7 -0
- data/lib/w3c_api/models/user.rb +12 -0
- data/lib/w3c_api/models.rb +41 -33
- data/lib/w3c_api/version.rb +1 -1
- metadata +10 -5
- data/lib/w3c_api/models/group_link_set.rb +0 -24
data/lib/w3c_api/models/serie.rb
CHANGED
@@ -53,6 +53,18 @@ module W3cApi
|
|
53
53
|
map key.to_s.tr('_', '-'), to: key
|
54
54
|
end
|
55
55
|
end
|
56
|
+
|
57
|
+
def specifications(client = nil)
|
58
|
+
return nil unless client
|
59
|
+
|
60
|
+
client.series_specifications(shortname)
|
61
|
+
end
|
62
|
+
|
63
|
+
def current_specification(client = nil)
|
64
|
+
return nil unless client
|
65
|
+
|
66
|
+
client.specification(shortname)
|
67
|
+
end
|
56
68
|
end
|
57
69
|
end
|
58
70
|
end
|
@@ -49,11 +49,11 @@ module W3cApi
|
|
49
49
|
attribute :process_rules, :string
|
50
50
|
|
51
51
|
hal_link :self, key: 'self', realize_class: 'SpecVersion'
|
52
|
-
hal_link :editors, key: 'editors', realize_class: '
|
53
|
-
hal_link :deliverers, key: 'deliverers', realize_class: '
|
52
|
+
hal_link :editors, key: 'editors', realize_class: 'EditorIndex'
|
53
|
+
hal_link :deliverers, key: 'deliverers', realize_class: 'DelivererIndex'
|
54
54
|
hal_link :specification, key: 'specification', realize_class: 'Specification'
|
55
|
-
hal_link :
|
56
|
-
hal_link :
|
55
|
+
hal_link :predecessor_versions, key: 'predecessor-version', realize_class: 'SpecVersionPredecessorIndex'
|
56
|
+
hal_link :successor_versions, key: 'successor-version', realize_class: 'SpecVersionSuccessorIndex'
|
57
57
|
|
58
58
|
key_value do
|
59
59
|
%i[
|
@@ -5,10 +5,7 @@ require_relative 'spec_version'
|
|
5
5
|
module W3cApi
|
6
6
|
module Models
|
7
7
|
class SpecVersionIndex < Lutaml::Hal::Page
|
8
|
-
hal_link :versions, key: 'versions', realize_class: 'SpecVersion', collection: true
|
9
8
|
hal_link :spec_versions, key: 'version-history', realize_class: 'SpecVersion', collection: true
|
10
|
-
hal_link :predecessor_version, key: 'predecessor-version', realize_class: 'SpecVersion', collection: true
|
11
|
-
hal_link :successor_version, key: 'successor-version', realize_class: 'SpecVersion', collection: true
|
12
9
|
end
|
13
10
|
end
|
14
11
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'spec_version'
|
4
|
+
|
5
|
+
module W3cApi
|
6
|
+
module Models
|
7
|
+
class SpecVersionPredecessorIndex < Lutaml::Hal::Page
|
8
|
+
hal_link :predecessor_versions, key: 'predecessor-version', realize_class: 'SpecVersion', collection: true
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'spec_version'
|
4
|
+
|
5
|
+
module W3cApi
|
6
|
+
module Models
|
7
|
+
class SpecVersionSuccessorIndex < Lutaml::Hal::Page
|
8
|
+
hal_link :successor_versions, key: 'successor-version', realize_class: 'SpecVersion', collection: true
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -48,6 +48,7 @@ module W3cApi
|
|
48
48
|
hal_link :latest_version, key: 'latest-version', realize_class: 'SpecVersion'
|
49
49
|
hal_link :supersedes, key: 'supersedes', realize_class: 'SpecificationIndex', collection: true
|
50
50
|
hal_link :series, key: 'series', realize_class: 'Serie'
|
51
|
+
hal_link :spec_versions, key: 'version-history', realize_class: 'SpecVersionIndex'
|
51
52
|
|
52
53
|
key_value do
|
53
54
|
%i[
|
@@ -62,6 +63,12 @@ module W3cApi
|
|
62
63
|
map key.to_s.tr('_', '-'), to: key
|
63
64
|
end
|
64
65
|
end
|
66
|
+
|
67
|
+
def versions(client = nil)
|
68
|
+
return nil unless client
|
69
|
+
|
70
|
+
client.specification_versions(shortname)
|
71
|
+
end
|
65
72
|
end
|
66
73
|
end
|
67
74
|
end
|
data/lib/w3c_api/models/user.rb
CHANGED
@@ -103,6 +103,18 @@ module W3cApi
|
|
103
103
|
map key.to_s.tr('_', '-'), to: key
|
104
104
|
end
|
105
105
|
end
|
106
|
+
|
107
|
+
def groups(client = nil)
|
108
|
+
return nil unless client
|
109
|
+
|
110
|
+
client.user_groups(id)
|
111
|
+
end
|
112
|
+
|
113
|
+
def specifications(client = nil)
|
114
|
+
return nil unless client
|
115
|
+
|
116
|
+
client.user_specifications(id)
|
117
|
+
end
|
106
118
|
end
|
107
119
|
end
|
108
120
|
end
|
data/lib/w3c_api/models.rb
CHANGED
@@ -2,38 +2,46 @@
|
|
2
2
|
|
3
3
|
module W3cApi
|
4
4
|
module Models
|
5
|
+
# Use autoload to defer class loading until first access
|
6
|
+
# This eliminates the class loading order dependency that caused
|
7
|
+
# inconsistent type names in HAL output
|
8
|
+
|
9
|
+
autoload :Account, 'w3c_api/models/account'
|
10
|
+
autoload :Affiliation, 'w3c_api/models/affiliation'
|
11
|
+
autoload :AffiliationIndex, 'w3c_api/models/affiliation_index'
|
12
|
+
autoload :CallForTranslation, 'w3c_api/models/call_for_translation'
|
13
|
+
autoload :ChairIndex, 'w3c_api/models/chair_index'
|
14
|
+
autoload :Charter, 'w3c_api/models/charter'
|
15
|
+
autoload :CharterIndex, 'w3c_api/models/charter_index'
|
16
|
+
autoload :ConnectedAccount, 'w3c_api/models/connected_account'
|
17
|
+
autoload :DelivererIndex, 'w3c_api/models/deliverer_index'
|
18
|
+
autoload :Ecosystem, 'w3c_api/models/ecosystem'
|
19
|
+
autoload :EcosystemIndex, 'w3c_api/models/ecosystem_index'
|
20
|
+
autoload :EditorIndex, 'w3c_api/models/editor_index'
|
21
|
+
autoload :EvangelistIndex, 'w3c_api/models/evangelist_index'
|
22
|
+
autoload :Extension, 'w3c_api/models/extension'
|
23
|
+
autoload :Group, 'w3c_api/models/group'
|
24
|
+
autoload :GroupIndex, 'w3c_api/models/group_index'
|
25
|
+
autoload :Groups, 'w3c_api/models/groups'
|
26
|
+
autoload :JoinEmails, 'w3c_api/models/join_emails'
|
27
|
+
autoload :ParticipantIndex, 'w3c_api/models/participant_index'
|
28
|
+
autoload :Participation, 'w3c_api/models/participation'
|
29
|
+
autoload :ParticipationIndex, 'w3c_api/models/participation_index'
|
30
|
+
autoload :Photo, 'w3c_api/models/photo'
|
31
|
+
autoload :Serie, 'w3c_api/models/serie'
|
32
|
+
autoload :SerieIndex, 'w3c_api/models/serie_index'
|
33
|
+
autoload :SpecVersion, 'w3c_api/models/spec_version'
|
34
|
+
autoload :SpecVersionIndex, 'w3c_api/models/spec_version_index'
|
35
|
+
autoload :SpecVersionPredecessorIndex, 'w3c_api/models/spec_version_predecessor_index'
|
36
|
+
autoload :SpecVersionSuccessorIndex, 'w3c_api/models/spec_version_successor_index'
|
37
|
+
autoload :SpecVersionRef, 'w3c_api/models/spec_version_ref'
|
38
|
+
autoload :Specification, 'w3c_api/models/specification'
|
39
|
+
autoload :SpecificationIndex, 'w3c_api/models/specification_index'
|
40
|
+
autoload :TeamContactIndex, 'w3c_api/models/team_contact_index'
|
41
|
+
autoload :Testimonial, 'w3c_api/models/testimonial'
|
42
|
+
autoload :Translation, 'w3c_api/models/translation'
|
43
|
+
autoload :TranslationIndex, 'w3c_api/models/translation_index'
|
44
|
+
autoload :User, 'w3c_api/models/user'
|
45
|
+
autoload :UserIndex, 'w3c_api/models/user_index'
|
5
46
|
end
|
6
47
|
end
|
7
|
-
|
8
|
-
# Load specific model implementations
|
9
|
-
require_relative 'models/affiliation'
|
10
|
-
require_relative 'models/affiliation_index'
|
11
|
-
require_relative 'models/call_for_translation'
|
12
|
-
require_relative 'models/charter'
|
13
|
-
require_relative 'models/charter_index'
|
14
|
-
require_relative 'models/chair_index'
|
15
|
-
require_relative 'models/connected_account'
|
16
|
-
require_relative 'models/ecosystem'
|
17
|
-
require_relative 'models/ecosystem_index'
|
18
|
-
require_relative 'models/evangelist_index'
|
19
|
-
require_relative 'models/extension'
|
20
|
-
require_relative 'models/group'
|
21
|
-
require_relative 'models/group_index'
|
22
|
-
require_relative 'models/group_link_set'
|
23
|
-
require_relative 'models/join_emails'
|
24
|
-
require_relative 'models/participant_index'
|
25
|
-
require_relative 'models/participation'
|
26
|
-
require_relative 'models/participation_index'
|
27
|
-
require_relative 'models/serie'
|
28
|
-
require_relative 'models/serie_index'
|
29
|
-
require_relative 'models/spec_version'
|
30
|
-
require_relative 'models/spec_version_index'
|
31
|
-
require_relative 'models/spec_version_ref'
|
32
|
-
require_relative 'models/specification'
|
33
|
-
require_relative 'models/specification_index'
|
34
|
-
require_relative 'models/team_contact_index'
|
35
|
-
require_relative 'models/testimonial'
|
36
|
-
require_relative 'models/translation'
|
37
|
-
require_relative 'models/translation_index'
|
38
|
-
require_relative 'models/user'
|
39
|
-
require_relative 'models/user_index'
|
data/lib/w3c_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: w3c_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-07-
|
11
|
+
date: 2025-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.
|
47
|
+
version: 0.1.7
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.1.
|
54
|
+
version: 0.1.7
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: lutaml-model
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- lib/w3c_api/commands/participation.rb
|
119
119
|
- lib/w3c_api/commands/series.rb
|
120
120
|
- lib/w3c_api/commands/specification.rb
|
121
|
+
- lib/w3c_api/commands/specification_version.rb
|
121
122
|
- lib/w3c_api/commands/translation.rb
|
122
123
|
- lib/w3c_api/commands/user.rb
|
123
124
|
- lib/w3c_api/hal.rb
|
@@ -130,13 +131,15 @@ files:
|
|
130
131
|
- lib/w3c_api/models/charter.rb
|
131
132
|
- lib/w3c_api/models/charter_index.rb
|
132
133
|
- lib/w3c_api/models/connected_account.rb
|
134
|
+
- lib/w3c_api/models/deliverer_index.rb
|
133
135
|
- lib/w3c_api/models/ecosystem.rb
|
134
136
|
- lib/w3c_api/models/ecosystem_index.rb
|
137
|
+
- lib/w3c_api/models/editor_index.rb
|
135
138
|
- lib/w3c_api/models/evangelist_index.rb
|
136
139
|
- lib/w3c_api/models/extension.rb
|
137
140
|
- lib/w3c_api/models/group.rb
|
138
141
|
- lib/w3c_api/models/group_index.rb
|
139
|
-
- lib/w3c_api/models/
|
142
|
+
- lib/w3c_api/models/groups.rb
|
140
143
|
- lib/w3c_api/models/join_emails.rb
|
141
144
|
- lib/w3c_api/models/participant_index.rb
|
142
145
|
- lib/w3c_api/models/participation.rb
|
@@ -146,7 +149,9 @@ files:
|
|
146
149
|
- lib/w3c_api/models/serie_index.rb
|
147
150
|
- lib/w3c_api/models/spec_version.rb
|
148
151
|
- lib/w3c_api/models/spec_version_index.rb
|
152
|
+
- lib/w3c_api/models/spec_version_predecessor_index.rb
|
149
153
|
- lib/w3c_api/models/spec_version_ref.rb
|
154
|
+
- lib/w3c_api/models/spec_version_successor_index.rb
|
150
155
|
- lib/w3c_api/models/specification.rb
|
151
156
|
- lib/w3c_api/models/specification_index.rb
|
152
157
|
- lib/w3c_api/models/team_contact_index.rb
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'specification_index'
|
4
|
-
|
5
|
-
module W3cApi
|
6
|
-
module Models
|
7
|
-
# Manual GroupLinkSet class to fix collection issue
|
8
|
-
class GroupLinkSet < Lutaml::Hal::LinkSet
|
9
|
-
# Define the specifications attribute with collection: true
|
10
|
-
# This is needed because the Group model's specifications link
|
11
|
-
# realizes to a SpecificationIndex which contains a collection
|
12
|
-
attribute :specifications, SpecificationIndexLink, collection: true
|
13
|
-
|
14
|
-
key_value do
|
15
|
-
map 'specifications', to: :specifications
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
# Define the link class for SpecificationIndex
|
20
|
-
class SpecificationIndexLink < Lutaml::Hal::Link
|
21
|
-
attribute :type, :string, default: 'SpecificationIndex'
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|