relaton-3gpp 1.14.3 → 1.14.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e8d98ffac2c963fb2b403b0db8d549218150a7a23cb13ed17fd65604287fd54
4
- data.tar.gz: dafdb6e3178f868bf6b25cf1cb8fc250a4e92d694a18d7d9396b3f6df1088402
3
+ metadata.gz: 207139041595ff473f6d1372793a3ee8142c6b456d208be33c68f50e1c7b8961
4
+ data.tar.gz: ff9c7606fcc605644880263e4be2befe1e460a174b6c7ae92d27f12e86b03b14
5
5
  SHA512:
6
- metadata.gz: 98c8bc6c6460f8e11670d03abcf4d67be9855cbe46cb1770847f02e0a0674600b8dcfba2b444ae9c7a5ae7d2f58b11d6b1435a3fb80a218a327dea7967d7686d
7
- data.tar.gz: 6bbf146a6e1b27e47e0340f50835dff409a22c647b6e63ade2c5dbc3d9ed6da326fa3b06e736d29f3dcd94d1e9bb7939d52d1fdd3ce0f34350103b3bd99911d5
6
+ metadata.gz: 203d9cdb69126f86d801f5ed93c2df91af6f876644846d22d79ba749e11b90804f7de660a2ea1b4ec2795866fa15c3670daa911dd915f78cd0696bf7933ab728
7
+ data.tar.gz: d20cf590d0e16a30475a9a51b5431d6b467e66c490fc32145d46521da56bef995d249de98bb09919e3442fc7f542f9730fc0f9092afd45a8d29f2f913f870b96
@@ -5,6 +5,7 @@ name: rake
5
5
  on:
6
6
  push:
7
7
  branches: [ master, main ]
8
+ tags: [ v* ]
8
9
  pull_request:
9
10
 
10
11
  jobs:
@@ -10,8 +10,9 @@ on:
10
10
  Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
11
11
  required: true
12
12
  default: 'skip'
13
- push:
14
- tags: [ v* ]
13
+ repository_dispatch:
14
+ types: [ do-release ]
15
+
15
16
 
16
17
  jobs:
17
18
  release:
data/.gitignore CHANGED
@@ -6,9 +6,11 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /vendor/
9
10
 
10
11
  # rspec failure tracking
11
12
  .rubocop-https---raw-githubusercontent-com-riboseinc-oss-guides-master-ci-rubocop-yml
12
13
  Gemfile.lock
13
14
  .vscode/
14
15
  .rspec_status
16
+ status_smg_3GPP*
data/.rubocop.yml CHANGED
@@ -7,6 +7,6 @@ require: rubocop-rails
7
7
  inherit_from:
8
8
  - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
9
9
  AllCops:
10
- TargetRubyVersion: 2.6
10
+ TargetRubyVersion: 2.7
11
11
  Rails:
12
12
  Enabled: false
data/Gemfile CHANGED
@@ -6,7 +6,13 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem "rake", "~> 13.0"
9
-
10
9
  gem "rspec", "~> 3.0"
11
10
 
12
- gem "rubocop", "~> 1.7"
11
+ gem "equivalent-xml", "~> 0.6"
12
+ gem "rubocop", "~> 1.23.0"
13
+ gem "rubocop-performance", "~> 1.12.0"
14
+ gem "rubocop-rails", "~> 2.12.0"
15
+ gem "ruby-jing", "~> 0.0.2"
16
+ gem "simplecov", "~> 0.21.2"
17
+ gem "vcr", "~> 6.1.0"
18
+ gem "webmock", "~> 3.18.0"
@@ -522,7 +522,6 @@
522
522
  <value>tip</value>
523
523
  <value>important</value>
524
524
  <value>caution</value>
525
- <value>statement</value>
526
525
  </choice>
527
526
  </define>
528
527
  <define name="figure">
data/grammars/biblio.rng CHANGED
@@ -216,6 +216,9 @@
216
216
  <optional>
217
217
  <ref name="fullname"/>
218
218
  </optional>
219
+ <zeroOrMore>
220
+ <ref name="credential"/>
221
+ </zeroOrMore>
219
222
  <zeroOrMore>
220
223
  <ref name="affiliation"/>
221
224
  </zeroOrMore>
@@ -232,6 +235,11 @@
232
235
  <ref name="FullNameType"/>
233
236
  </element>
234
237
  </define>
238
+ <define name="credential">
239
+ <element name="credential">
240
+ <text/>
241
+ </element>
242
+ </define>
235
243
  <define name="FullNameType">
236
244
  <choice>
237
245
  <group>
@@ -305,7 +313,9 @@
305
313
  <zeroOrMore>
306
314
  <ref name="affiliationdescription"/>
307
315
  </zeroOrMore>
308
- <ref name="organization"/>
316
+ <optional>
317
+ <ref name="organization"/>
318
+ </optional>
309
319
  </element>
310
320
  </define>
311
321
  <define name="affiliationname">
@@ -1316,7 +1326,7 @@
1316
1326
  <value>commentaryOf</value>
1317
1327
  <value>hasCommentary</value>
1318
1328
  <value>related</value>
1319
- <value>complements</value>
1329
+ <value>hasComplement</value>
1320
1330
  <value>complementOf</value>
1321
1331
  <value>obsoletes</value>
1322
1332
  <value>obsoletedBy</value>
@@ -4,13 +4,18 @@ module Relaton3gpp
4
4
  # Methods for search IANA standards.
5
5
  module Bibliography
6
6
  # SOURCE = "http://xml2rfc.tools.ietf.org/public/rfc/bibxml-3gpp-new/"
7
- SOURCE = "https://raw.githubusercontent.com/relaton/relaton-data-3gpp/main/data/"
7
+ SOURCE = "https://raw.githubusercontent.com/relaton/relaton-data-3gpp/main/"
8
+ INDEX_FILE = "index-v1.yaml"
8
9
 
9
10
  # @param text [String]
10
11
  # @return [RelatonBib::BibliographicItem]
11
12
  def search(text) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
12
- file = text.sub(/^3GPP\s/, "").gsub(/[\s,:\/]/, "_").squeeze("_").upcase
13
- url = "#{SOURCE}#{file}.yaml"
13
+ index = Relaton::Index.find_or_create "3GPP", url: "#{SOURCE}index-v1.zip", file: INDEX_FILE
14
+ row = index.search(text.sub(/^3GPP\s/, "")).min_by { |r| r[:id] }
15
+ return unless row
16
+
17
+ # file = text.sub(/^3GPP\s/, "").gsub(/[\s,:\/]/, "_").squeeze("_").upcase
18
+ url = "#{SOURCE}#{row[:file]}"
14
19
  resp = Net::HTTP.get_response URI(url)
15
20
  return unless resp.code == "200"
16
21
 
@@ -19,6 +19,10 @@ module Relaton3gpp
19
19
  @files = []
20
20
  end
21
21
 
22
+ def index
23
+ @index ||= Relaton::Index.find_or_create "3gpp", file: "index-v1.yaml"
24
+ end
25
+
22
26
  #
23
27
  # Initialize fetcher and run fetch
24
28
  #
@@ -56,11 +60,15 @@ module Relaton3gpp
56
60
  specrels = dbs["Specs_GSM+3G_release-info"]
57
61
  releases = dbs["Releases"]
58
62
  tstatus = dbs["temp-status"]
59
- FileUtils.rm_f File.join(@output, "/*") if renewal && dbs["2001-04-25_schedule"].any?
63
+ if renewal && dbs["2001-04-25_schedule"].any?
64
+ FileUtils.rm_f File.join(@output, "/*") # if renewal && dbs["2001-04-25_schedule"].any?
65
+ index.remove_all # if renewal
66
+ end
60
67
  dbs["2001-04-25_schedule"].each do |row|
61
68
  fetch_doc row, specs, specrels, releases, tstatus
62
69
  end
63
70
  File.write CURRENT, @current.to_yaml, encoding: "UTF-8"
71
+ index.save
64
72
  end
65
73
 
66
74
  #
@@ -136,6 +144,7 @@ module Relaton3gpp
136
144
  else
137
145
  @files << file
138
146
  end
147
+ index.add_or_update bib.docnumber, file
139
148
  File.write file, c, encoding: "UTF-8"
140
149
  end
141
150
 
@@ -50,5 +50,12 @@ module Relaton3gpp
50
50
  def grammar_hash
51
51
  @grammar_hash ||= ::Relaton3gpp.grammar_hash
52
52
  end
53
+
54
+ #
55
+ # Remove index file
56
+ #
57
+ def remove_index_file
58
+ Relaton::Index.find_or_create("3GPP", url: true, file: Bibliography::INDEX_FILE).remove_file
59
+ end
53
60
  end
54
61
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Relaton3gpp
4
- VERSION = "1.14.3"
4
+ VERSION = "1.14.4"
5
5
  end
data/lib/relaton_3gpp.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "net/http"
4
+ require "relaton/index"
4
5
  require "relaton_bib"
5
6
  require_relative "relaton_3gpp/version"
6
7
  require_relative "relaton_3gpp/release"
data/relaton_3gpp.gemspec CHANGED
@@ -8,11 +8,11 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ["Ribose Inc."]
9
9
  spec.email = ["open.source@ribose.com"]
10
10
 
11
- spec.summary = "RelatonIana: Ruby XMLDOC impementation."
12
- spec.description = "RelatonIana: Ruby XMLDOC impementation."
13
- spec.homepage = "https://github.com/relaton/relaton-iana"
11
+ spec.summary = "Relaton3gpp: Ruby XMLDOC impementation."
12
+ spec.description = "Relaton3gpp: Ruby XMLDOC impementation."
13
+ spec.homepage = "https://github.com/relaton/relaton-3gpp"
14
14
  spec.license = "BSD-2-Clause"
15
- spec.required_ruby_version = ">= 2.6.0"
15
+ spec.required_ruby_version = ">= 2.7.0"
16
16
 
17
17
  # spec.metadata["allowed_push_host"] = "TODO: Set to 'https://mygemserver.com'"
18
18
 
@@ -35,17 +35,10 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  # For more information and examples about making a new gem, checkout our
37
37
  # guide at: https://bundler.io/guides/creating_gem.html
38
- spec.add_development_dependency "equivalent-xml", "~> 0.6"
39
- spec.add_development_dependency "rubocop", "~> 1.23.0"
40
- spec.add_development_dependency "rubocop-performance", "~> 1.12.0"
41
- spec.add_development_dependency "rubocop-rails", "~> 2.12.0"
42
- spec.add_development_dependency "ruby-jing", "~> 0.0.2"
43
- spec.add_development_dependency "simplecov", "~> 0.21.2"
44
- spec.add_development_dependency "vcr", "~> 6.0.0"
45
- spec.add_development_dependency "webmock", "~> 3.14.0"
46
38
 
47
39
  spec.add_dependency "mdb", "~> 0.5.0"
48
40
  spec.add_dependency "net-ftp", "~> 0.1.0"
49
41
  spec.add_dependency "relaton-bib", "~> 1.14.0"
42
+ spec.add_dependency "relaton-index", "~> 0.2.0"
50
43
  spec.add_dependency "rubyzip", "~> 2.3.0"
51
44
  end
metadata CHANGED
@@ -1,169 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-3gpp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.3
4
+ version: 1.14.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-06 00:00:00.000000000 Z
11
+ date: 2023-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: equivalent-xml
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.6'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.6'
27
- - !ruby/object:Gem::Dependency
28
- name: rubocop
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.23.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 1.23.0
41
- - !ruby/object:Gem::Dependency
42
- name: rubocop-performance
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 1.12.0
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 1.12.0
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 2.12.0
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 2.12.0
69
- - !ruby/object:Gem::Dependency
70
- name: ruby-jing
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 0.0.2
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 0.0.2
83
- - !ruby/object:Gem::Dependency
84
- name: simplecov
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 0.21.2
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 0.21.2
97
- - !ruby/object:Gem::Dependency
98
- name: vcr
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 6.0.0
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 6.0.0
111
- - !ruby/object:Gem::Dependency
112
- name: webmock
14
+ name: mdb
113
15
  requirement: !ruby/object:Gem::Requirement
114
16
  requirements:
115
17
  - - "~>"
116
18
  - !ruby/object:Gem::Version
117
- version: 3.14.0
118
- type: :development
19
+ version: 0.5.0
20
+ type: :runtime
119
21
  prerelease: false
120
22
  version_requirements: !ruby/object:Gem::Requirement
121
23
  requirements:
122
24
  - - "~>"
123
25
  - !ruby/object:Gem::Version
124
- version: 3.14.0
26
+ version: 0.5.0
125
27
  - !ruby/object:Gem::Dependency
126
- name: mdb
28
+ name: net-ftp
127
29
  requirement: !ruby/object:Gem::Requirement
128
30
  requirements:
129
31
  - - "~>"
130
32
  - !ruby/object:Gem::Version
131
- version: 0.5.0
33
+ version: 0.1.0
132
34
  type: :runtime
133
35
  prerelease: false
134
36
  version_requirements: !ruby/object:Gem::Requirement
135
37
  requirements:
136
38
  - - "~>"
137
39
  - !ruby/object:Gem::Version
138
- version: 0.5.0
40
+ version: 0.1.0
139
41
  - !ruby/object:Gem::Dependency
140
- name: net-ftp
42
+ name: relaton-bib
141
43
  requirement: !ruby/object:Gem::Requirement
142
44
  requirements:
143
45
  - - "~>"
144
46
  - !ruby/object:Gem::Version
145
- version: 0.1.0
47
+ version: 1.14.0
146
48
  type: :runtime
147
49
  prerelease: false
148
50
  version_requirements: !ruby/object:Gem::Requirement
149
51
  requirements:
150
52
  - - "~>"
151
53
  - !ruby/object:Gem::Version
152
- version: 0.1.0
54
+ version: 1.14.0
153
55
  - !ruby/object:Gem::Dependency
154
- name: relaton-bib
56
+ name: relaton-index
155
57
  requirement: !ruby/object:Gem::Requirement
156
58
  requirements:
157
59
  - - "~>"
158
60
  - !ruby/object:Gem::Version
159
- version: 1.14.0
61
+ version: 0.2.0
160
62
  type: :runtime
161
63
  prerelease: false
162
64
  version_requirements: !ruby/object:Gem::Requirement
163
65
  requirements:
164
66
  - - "~>"
165
67
  - !ruby/object:Gem::Version
166
- version: 1.14.0
68
+ version: 0.2.0
167
69
  - !ruby/object:Gem::Dependency
168
70
  name: rubyzip
169
71
  requirement: !ruby/object:Gem::Requirement
@@ -178,7 +80,7 @@ dependencies:
178
80
  - - "~>"
179
81
  - !ruby/object:Gem::Version
180
82
  version: 2.3.0
181
- description: 'RelatonIana: Ruby XMLDOC impementation.'
83
+ description: 'Relaton3gpp: Ruby XMLDOC impementation.'
182
84
  email:
183
85
  - open.source@ribose.com
184
86
  executables: []
@@ -213,11 +115,11 @@ files:
213
115
  - lib/relaton_3gpp/version.rb
214
116
  - lib/relaton_3gpp/xml_parser.rb
215
117
  - relaton_3gpp.gemspec
216
- homepage: https://github.com/relaton/relaton-iana
118
+ homepage: https://github.com/relaton/relaton-3gpp
217
119
  licenses:
218
120
  - BSD-2-Clause
219
121
  metadata:
220
- homepage_uri: https://github.com/relaton/relaton-iana
122
+ homepage_uri: https://github.com/relaton/relaton-3gpp
221
123
  post_install_message:
222
124
  rdoc_options: []
223
125
  require_paths:
@@ -226,15 +128,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
226
128
  requirements:
227
129
  - - ">="
228
130
  - !ruby/object:Gem::Version
229
- version: 2.6.0
131
+ version: 2.7.0
230
132
  required_rubygems_version: !ruby/object:Gem::Requirement
231
133
  requirements:
232
134
  - - ">="
233
135
  - !ruby/object:Gem::Version
234
136
  version: '0'
235
137
  requirements: []
236
- rubygems_version: 3.1.6
138
+ rubygems_version: 3.3.26
237
139
  signing_key:
238
140
  specification_version: 4
239
- summary: 'RelatonIana: Ruby XMLDOC impementation.'
141
+ summary: 'Relaton3gpp: Ruby XMLDOC impementation.'
240
142
  test_files: []