relaton-3gpp 1.20.0 → 2.0.0.pre.alpha.1
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.yml +1 -1
- data/bin/console +1 -1
- data/grammars/basicdoc.rng +1517 -651
- data/grammars/biblio-standoc.rng +100 -20
- data/grammars/biblio.rng +959 -356
- data/grammars/relaton-3gpp.rng +3 -1
- data/lib/relaton/3gpp/bibdata.rb +8 -0
- data/lib/relaton/3gpp/bibitem.rb +8 -0
- data/lib/relaton/3gpp/bibliography.rb +51 -0
- data/lib/relaton/3gpp/data_fetcher.rb +225 -0
- data/lib/relaton/3gpp/doctype.rb +9 -0
- data/lib/relaton/3gpp/ext.rb +34 -0
- data/lib/relaton/3gpp/item.rb +12 -0
- data/lib/relaton/3gpp/item_data.rb +23 -0
- data/lib/relaton/3gpp/parser.rb +304 -0
- data/lib/relaton/3gpp/processor.rb +60 -0
- data/lib/relaton/3gpp/release.rb +33 -0
- data/lib/relaton/3gpp/util.rb +8 -0
- data/lib/relaton/3gpp/version.rb +7 -0
- data/lib/relaton/3gpp.rb +23 -0
- data/relaton_3gpp.gemspec +7 -6
- metadata +36 -20
- data/lib/relaton_3gpp/bibliographic_item.rb +0 -98
- data/lib/relaton_3gpp/bibliography.rb +0 -50
- data/lib/relaton_3gpp/data_fetcher.rb +0 -283
- data/lib/relaton_3gpp/document_type.rb +0 -18
- data/lib/relaton_3gpp/hash_converter.rb +0 -31
- data/lib/relaton_3gpp/parser.rb +0 -273
- data/lib/relaton_3gpp/processor.rb +0 -61
- data/lib/relaton_3gpp/release.rb +0 -70
- data/lib/relaton_3gpp/util.rb +0 -6
- data/lib/relaton_3gpp/version.rb +0 -5
- data/lib/relaton_3gpp/xml_parser.rb +0 -62
- data/lib/relaton_3gpp.rb +0 -28
data/lib/relaton_3gpp/release.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
module Relaton3gpp
|
2
|
-
class Release
|
3
|
-
#
|
4
|
-
# Initialize release.
|
5
|
-
#
|
6
|
-
# @param [String] version2g
|
7
|
-
# @param [String] version3g
|
8
|
-
# @param [Boolean] defunct
|
9
|
-
# @param [String] wpn_code_2g
|
10
|
-
# @param [String] wpn_code_3g
|
11
|
-
# @param [String] freeze_stage1_meeting
|
12
|
-
# @param [String] freeze_stage2_meeting
|
13
|
-
# @param [String] freeze_stage3_meeting
|
14
|
-
# @param [String] close_meeting
|
15
|
-
# @param [String] project_start
|
16
|
-
# @param [String] project_end
|
17
|
-
#
|
18
|
-
def initialize(**args) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
19
|
-
@version2g = args[:version2g]
|
20
|
-
@version3g = args[:version3g]
|
21
|
-
@defunct = args[:defunct]
|
22
|
-
@wpm_code_2g = args[:wpm_code_2g]
|
23
|
-
@wpm_code_3g = args[:wpm_code_3g]
|
24
|
-
@freeze_meeting = args[:freeze_meeting]
|
25
|
-
@freeze_stage1_meeting = args[:freeze_stage1_meeting]
|
26
|
-
@freeze_stage2_meeting = args[:freeze_stage2_meeting]
|
27
|
-
@freeze_stage3_meeting = args[:freeze_stage3_meeting]
|
28
|
-
@close_meeting = args[:close_meeting]
|
29
|
-
@project_start = args[:project_start]
|
30
|
-
@project_end = args[:project_end]
|
31
|
-
end
|
32
|
-
|
33
|
-
#
|
34
|
-
# Render XML.
|
35
|
-
#
|
36
|
-
# @param [Nokogiri::XML::Builder] builder
|
37
|
-
#
|
38
|
-
def to_xml(builder) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
39
|
-
builder.release do
|
40
|
-
builder.version2G @version2g if @version2g
|
41
|
-
builder.version3G @version3g if @version3g
|
42
|
-
builder.defunct @defunct unless @defunct.nil?
|
43
|
-
builder.send "wpm-code-2G", @wpm_code_2g if @wpm_code_2g
|
44
|
-
builder.send "wpm-code-3G", @wpm_code_3g if @wpm_code_3g
|
45
|
-
builder.send "freeze-meeting", @freeze_meeting if @freeze_meeting
|
46
|
-
builder.send "freeze-stage1-meeting", @freeze_stage1_meeting if @freeze_stage1_meeting
|
47
|
-
builder.send "freeze-stage2-meeting", @freeze_stage2_meeting if @freeze_stage2_meeting
|
48
|
-
builder.send "freeze-stage3-meeting", @freeze_stage3_meeting if @freeze_stage3_meeting
|
49
|
-
builder.send "close-meeting", @close_meeting if @close_meeting
|
50
|
-
builder.send "project-start", @project_start if @project_start
|
51
|
-
builder.send "project-end", @project_end if @project_end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
#
|
56
|
-
# Render Hash.
|
57
|
-
#
|
58
|
-
# @return [Hash]
|
59
|
-
#
|
60
|
-
def to_hash
|
61
|
-
hash = {}
|
62
|
-
instance_variables.each do |var|
|
63
|
-
unless instance_variable_get(var).nil?
|
64
|
-
hash[var.to_s.delete("@")] = instance_variable_get var
|
65
|
-
end
|
66
|
-
end
|
67
|
-
hash
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
data/lib/relaton_3gpp/util.rb
DELETED
data/lib/relaton_3gpp/version.rb
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
module Relaton3gpp
|
2
|
-
class XMLParser < RelatonBib::XMLParser
|
3
|
-
class << self
|
4
|
-
private
|
5
|
-
|
6
|
-
#
|
7
|
-
# Parse XML to hash
|
8
|
-
#
|
9
|
-
# @param [Nokofiri::XML::Element] bibitem
|
10
|
-
#
|
11
|
-
# @return [Hash]
|
12
|
-
#
|
13
|
-
def item_data(bibitem)
|
14
|
-
hash = super
|
15
|
-
ext = bibitem.at "./ext"
|
16
|
-
if ext
|
17
|
-
hash[:radiotechnology] = ext.at("./radiotechnology")&.text
|
18
|
-
hash[:common_ims_spec] = ext.at("./common-ims-spec")&.text
|
19
|
-
hash[:release] = fetch_release(ext)
|
20
|
-
end
|
21
|
-
hash
|
22
|
-
end
|
23
|
-
|
24
|
-
#
|
25
|
-
# Ftech release information
|
26
|
-
#
|
27
|
-
# @param [Nokogiri::XML::Element] ext
|
28
|
-
#
|
29
|
-
# @return [Relaton3gpp::Release] release
|
30
|
-
#
|
31
|
-
def fetch_release(ext) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
|
32
|
-
release = ext.at("./release")
|
33
|
-
return unless release
|
34
|
-
|
35
|
-
hash = {}
|
36
|
-
hash[:version2g] = release.at("./version2G")&.text
|
37
|
-
hash[:version3g] = release.at("./version3G")&.text
|
38
|
-
hash[:defunct] = release.at("./defunct")&.text
|
39
|
-
hash[:wpm_code_2g] = release.at("./wpm-code-2G")&.text
|
40
|
-
hash[:wpm_code_3g] = release.at("./wpm-code-3G")&.text
|
41
|
-
hash[:freeze_meeting] = release.at("./freeze-meeting")&.text
|
42
|
-
hash[:freeze_stage1_meeting] = release.at("./freeze-stage1-meeting")&.text
|
43
|
-
hash[:freeze_stage2_meeting] = release.at("./freeze-stage2-meeting")&.text
|
44
|
-
hash[:freeze_stage3_meeting] = release.at("./freeze-stage3-meeting")&.text
|
45
|
-
hash[:close_meeting] = release.at("./close-meeting")&.text
|
46
|
-
hash[:project_start] = release.at("./project-start")&.text
|
47
|
-
hash[:project_end] = release.at("./project-end")&.text
|
48
|
-
Release.new(**hash)
|
49
|
-
end
|
50
|
-
|
51
|
-
# @param item_hash [Hash]
|
52
|
-
# @return [RelatonSgpp::BibliographicItem]
|
53
|
-
def bib_item(item_hash)
|
54
|
-
BibliographicItem.new(**item_hash)
|
55
|
-
end
|
56
|
-
|
57
|
-
def create_doctype(type)
|
58
|
-
DocumentType.new type: type.text, abbreviation: type[:abbreviation]
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
data/lib/relaton_3gpp.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "net/http"
|
4
|
-
require "relaton/index"
|
5
|
-
require "relaton_bib"
|
6
|
-
require_relative "relaton_3gpp/version"
|
7
|
-
require_relative "relaton_3gpp/util"
|
8
|
-
require_relative "relaton_3gpp/document_type"
|
9
|
-
require_relative "relaton_3gpp/release"
|
10
|
-
require_relative "relaton_3gpp/bibliographic_item"
|
11
|
-
require_relative "relaton_3gpp/hash_converter"
|
12
|
-
require_relative "relaton_3gpp/xml_parser"
|
13
|
-
require_relative "relaton_3gpp/bibliography"
|
14
|
-
require_relative "relaton_3gpp/parser"
|
15
|
-
require_relative "relaton_3gpp/data_fetcher"
|
16
|
-
|
17
|
-
module Relaton3gpp
|
18
|
-
class Error < StandardError; end
|
19
|
-
|
20
|
-
# Returns hash of XML reammar
|
21
|
-
# @return [String]
|
22
|
-
def self.grammar_hash
|
23
|
-
# gem_path = File.expand_path "..", __dir__
|
24
|
-
# grammars_path = File.join gem_path, "grammars", "*"
|
25
|
-
# grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
|
26
|
-
Digest::MD5.hexdigest Relaton3gpp::VERSION + RelatonBib::VERSION # grammars
|
27
|
-
end
|
28
|
-
end
|