relaton-3gpp 1.19.1 → 1.20.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 +4 -4
- data/README.adoc +1 -1
- data/lib/relaton_3gpp/bibliographic_item.rb +16 -9
- data/lib/relaton_3gpp/hash_converter.rb +6 -1
- data/lib/relaton_3gpp/parser.rb +12 -3
- data/lib/relaton_3gpp/version.rb +1 -1
- data/relaton_3gpp.gemspec +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74bc486a5a0d3e66901c7640aa55f126d9450c51df3bdf89862f5a3b0b691f49
|
4
|
+
data.tar.gz: fc8f0453409f49844546bf9ab06cea41003bd2cc8fea6a0a397e4be3fe460ecd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 169902768cd60d092d4928972d9126de1e749ab958645f9eb7b5f383552f0bbaa148ba899a07bf2f09625e760b6625487ee259661b75ce265a699e7e474b65f0
|
7
|
+
data.tar.gz: 5d80742c1ec0afb5c6c83165ef5adfef79644fe245a7cab2ebd27ee35894c4a4c29f85414fb5e7ab51b6ad1dc888f2a5d0b771aa785babe9dd4d255c024bb13e
|
data/README.adoc
CHANGED
@@ -127,7 +127,7 @@ Relaton3gpp::BibliographicItem.new(**bib_hash)
|
|
127
127
|
|
128
128
|
=== Fetch data
|
129
129
|
|
130
|
-
There is a 3GPP dataset ftp://www.3gpp.org/Information/Databases/
|
130
|
+
There is a 3GPP dataset ftp://www.3gpp.org/Information/Databases/[latest *.csv] which can be converted into RelatonXML/BibXML/BibYAML formats.
|
131
131
|
|
132
132
|
The method `Relaton3GPP::DataFetcher.fetch(output: "data", format: "yaml")` converts all the documents from the dataset and save them to the `./data` folder in YAML format.
|
133
133
|
Arguments:
|
@@ -3,12 +3,15 @@ module Relaton3gpp
|
|
3
3
|
DOCSUBTYPES = %w[spec release].freeze
|
4
4
|
RADIOTECHNOLOGIES = %w[2G 3G LTE 5G].freeze
|
5
5
|
|
6
|
+
# @return [String, nil]
|
7
|
+
attr_reader :radiotechnology, :release
|
8
|
+
|
6
9
|
#
|
7
10
|
# Initialize bibliographic item.
|
8
11
|
#
|
9
|
-
# @param [String] radiotechnology
|
12
|
+
# @param [String, nil] radiotechnology
|
10
13
|
# @param [Boolean] common_ims_spec
|
11
|
-
# @param [Relaton3gpp::Release] release
|
14
|
+
# @param [Relaton3gpp::Release, nil] release
|
12
15
|
#
|
13
16
|
def initialize(**args) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
14
17
|
Util.warn "Doctype is missing" if args[:type].nil?
|
@@ -61,9 +64,9 @@ module Relaton3gpp
|
|
61
64
|
b.subdoctype subdoctype if subdoctype
|
62
65
|
editorialgroup&.to_xml b
|
63
66
|
ics.each { |i| i.to_xml b }
|
64
|
-
b.radiotechnology
|
67
|
+
b.radiotechnology radiotechnology if radiotechnology
|
65
68
|
b.send :"common-ims-spec", @common_ims_spec if @common_ims_spec
|
66
|
-
|
69
|
+
release&.to_xml b
|
67
70
|
end
|
68
71
|
ext["schema-version"] = ext_schema unless opts[:embedded]
|
69
72
|
end
|
@@ -71,8 +74,8 @@ module Relaton3gpp
|
|
71
74
|
end
|
72
75
|
|
73
76
|
def has_ext_attrs? # rubocop:disable Metrics/CyclomaticComplexity
|
74
|
-
doctype || subdoctype || editorialgroup || ics.any? ||
|
75
|
-
@common_ims_spec ||
|
77
|
+
doctype || subdoctype || editorialgroup || ics.any? || radiotechnology ||
|
78
|
+
@common_ims_spec || release
|
76
79
|
end
|
77
80
|
|
78
81
|
#
|
@@ -82,10 +85,14 @@ module Relaton3gpp
|
|
82
85
|
#
|
83
86
|
def to_hash(embedded: false)
|
84
87
|
hash = super
|
85
|
-
hash["radiotechnology"] =
|
86
|
-
hash["common-ims-spec"] = @common_ims_spec if @common_ims_spec
|
87
|
-
hash["release"] =
|
88
|
+
hash["ext"]["radiotechnology"] = radiotechnology if radiotechnology
|
89
|
+
hash["ext"]["common-ims-spec"] = @common_ims_spec if @common_ims_spec
|
90
|
+
hash["ext"]["release"] = release.to_hash if release
|
88
91
|
hash
|
89
92
|
end
|
93
|
+
|
94
|
+
def has_ext?
|
95
|
+
super || radiotechnology || @common_ims_spec || release
|
96
|
+
end
|
90
97
|
end
|
91
98
|
end
|
@@ -5,12 +5,17 @@ module Relaton3gpp
|
|
5
5
|
|
6
6
|
def hash_to_bib(args)
|
7
7
|
hash = super
|
8
|
+
hash[:radiotechnology] = hash[:ext][:radiotechnology] if hash.dig(:ext, :radiotechnology)
|
9
|
+
hash[:common_ims_spec] = hash[:ext][:"common-ims-spec"] if hash.dig(:ext, :"common-ims-spec")
|
8
10
|
release_hash_to_bib(hash)
|
9
11
|
hash
|
10
12
|
end
|
11
13
|
|
12
14
|
def release_hash_to_bib(hash)
|
13
|
-
hash[:release]
|
15
|
+
release = hash.dig(:ext, :release) || hash[:release] # @TODO remove hash[:release] after release is moved to ext
|
16
|
+
return unless release
|
17
|
+
|
18
|
+
hash[:release] = Release.new(**release)
|
14
19
|
end
|
15
20
|
|
16
21
|
# @param item_hash [Hash]
|
data/lib/relaton_3gpp/parser.rb
CHANGED
@@ -40,6 +40,7 @@ module Relaton3gpp
|
|
40
40
|
date: parse_date,
|
41
41
|
doctype: parse_doctype,
|
42
42
|
editorialgroup: parse_editorialgroup,
|
43
|
+
version: parse_version,
|
43
44
|
# biblionote: parse_note,
|
44
45
|
# docstatus: parse_status,
|
45
46
|
radiotechnology: parse_radiotechnology,
|
@@ -100,7 +101,15 @@ module Relaton3gpp
|
|
100
101
|
def number
|
101
102
|
num = "#{doctype_abbr} #{@row[0]}"
|
102
103
|
num += ":#{release}" if release
|
103
|
-
"#{num}/#{
|
104
|
+
"#{num}/#{version}"
|
105
|
+
end
|
106
|
+
|
107
|
+
def version
|
108
|
+
@row["Version"]
|
109
|
+
end
|
110
|
+
|
111
|
+
def parse_version
|
112
|
+
[RelatonBib::BibliographicItem::Version.new(nil, version)]
|
104
113
|
end
|
105
114
|
|
106
115
|
def doctype_abbr
|
@@ -199,11 +208,11 @@ module Relaton3gpp
|
|
199
208
|
# @return [String] radio technology
|
200
209
|
#
|
201
210
|
def parse_radiotechnology
|
202
|
-
case @row[
|
211
|
+
case @row["WPM Code 3G"]
|
203
212
|
when /5G/ then "5G"
|
204
213
|
when /4G/ then "LTE"
|
205
214
|
when /3G/ then "3G"
|
206
|
-
else @row[
|
215
|
+
else @row["WPM Code 2G"] && "2G"
|
207
216
|
end
|
208
217
|
end
|
209
218
|
|
data/lib/relaton_3gpp/version.rb
CHANGED
data/relaton_3gpp.gemspec
CHANGED
@@ -38,6 +38,6 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
38
38
|
|
39
39
|
spec.add_dependency "csv"
|
40
40
|
spec.add_dependency "net-ftp", "~> 0.1.0"
|
41
|
-
spec.add_dependency "relaton-bib", "~> 1.
|
41
|
+
spec.add_dependency "relaton-bib", "~> 1.20.0"
|
42
42
|
spec.add_dependency "relaton-index", "~> 0.2.0"
|
43
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-3gpp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: csv
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.20.0
|
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: 1.
|
54
|
+
version: 1.20.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: relaton-index
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +108,7 @@ licenses:
|
|
108
108
|
- BSD-2-Clause
|
109
109
|
metadata:
|
110
110
|
homepage_uri: https://github.com/relaton/relaton-3gpp
|
111
|
-
post_install_message:
|
111
|
+
post_install_message:
|
112
112
|
rdoc_options: []
|
113
113
|
require_paths:
|
114
114
|
- lib
|
@@ -124,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
124
|
version: '0'
|
125
125
|
requirements: []
|
126
126
|
rubygems_version: 3.3.27
|
127
|
-
signing_key:
|
127
|
+
signing_key:
|
128
128
|
specification_version: 4
|
129
129
|
summary: 'Relaton3gpp: Ruby XMLDOC impementation.'
|
130
130
|
test_files: []
|