relaton-calconnect 1.5.0 → 1.8.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/.github/workflows/rake.yml +46 -0
- data/README.adoc +1 -5
- data/grammars/basicdoc.rng +165 -20
- data/grammars/biblio.rng +4 -6
- data/grammars/csd.rng +7 -1
- data/grammars/isodoc.rng +474 -49
- data/grammars/reqt.rng +31 -2
- data/lib/relaton_calconnect.rb +1 -0
- data/lib/relaton_calconnect/cc_bibliographic_item.rb +7 -0
- data/lib/relaton_calconnect/cc_bibliography.rb +2 -2
- data/lib/relaton_calconnect/hash_converter.rb +11 -0
- data/lib/relaton_calconnect/processor.rb +1 -2
- data/lib/relaton_calconnect/technical_committee.rb +8 -0
- data/lib/relaton_calconnect/version.rb +1 -1
- data/lib/relaton_calconnect/xml_parser.rb +14 -1
- data/relaton_calconnect.gemspec +3 -3
- metadata +7 -36
- data/.github/workflows/macos.yml +0 -32
- data/.github/workflows/ubuntu.yml +0 -33
- data/.github/workflows/windows.yml +0 -35
data/grammars/reqt.rng
CHANGED
@@ -30,15 +30,34 @@
|
|
30
30
|
<data type="boolean"/>
|
31
31
|
</attribute>
|
32
32
|
</optional>
|
33
|
+
<optional>
|
34
|
+
<attribute name="number"/>
|
35
|
+
</optional>
|
33
36
|
<optional>
|
34
37
|
<attribute name="subsequence"/>
|
35
38
|
</optional>
|
39
|
+
<optional>
|
40
|
+
<attribute name="keep-with-next">
|
41
|
+
<data type="boolean"/>
|
42
|
+
</attribute>
|
43
|
+
</optional>
|
44
|
+
<optional>
|
45
|
+
<attribute name="keep-lines-together">
|
46
|
+
<data type="boolean"/>
|
47
|
+
</attribute>
|
48
|
+
</optional>
|
36
49
|
<attribute name="id">
|
37
50
|
<data type="ID"/>
|
38
51
|
</attribute>
|
39
52
|
<optional>
|
40
53
|
<attribute name="filename"/>
|
41
54
|
</optional>
|
55
|
+
<optional>
|
56
|
+
<attribute name="model"/>
|
57
|
+
</optional>
|
58
|
+
<optional>
|
59
|
+
<attribute name="type"/>
|
60
|
+
</optional>
|
42
61
|
<optional>
|
43
62
|
<ref name="reqtitle"/>
|
44
63
|
</optional>
|
@@ -48,9 +67,9 @@
|
|
48
67
|
<optional>
|
49
68
|
<ref name="subject"/>
|
50
69
|
</optional>
|
51
|
-
<
|
70
|
+
<zeroOrMore>
|
52
71
|
<ref name="reqinherit"/>
|
53
|
-
</
|
72
|
+
</zeroOrMore>
|
54
73
|
<zeroOrMore>
|
55
74
|
<ref name="classification"/>
|
56
75
|
</zeroOrMore>
|
@@ -135,6 +154,16 @@
|
|
135
154
|
<data type="boolean"/>
|
136
155
|
</attribute>
|
137
156
|
</optional>
|
157
|
+
<optional>
|
158
|
+
<attribute name="keep-with-next">
|
159
|
+
<data type="boolean"/>
|
160
|
+
</attribute>
|
161
|
+
</optional>
|
162
|
+
<optional>
|
163
|
+
<attribute name="keep-lines-together">
|
164
|
+
<data type="boolean"/>
|
165
|
+
</attribute>
|
166
|
+
</optional>
|
138
167
|
<oneOrMore>
|
139
168
|
<ref name="BasicBlock"/>
|
140
169
|
</oneOrMore>
|
data/lib/relaton_calconnect.rb
CHANGED
@@ -4,6 +4,7 @@ require "relaton_calconnect/cc_bibliography"
|
|
4
4
|
require "relaton_calconnect/hit_collection"
|
5
5
|
require "relaton_calconnect/hit"
|
6
6
|
require "relaton_calconnect/scrapper"
|
7
|
+
require "relaton_calconnect/technical_committee"
|
7
8
|
require "relaton_calconnect/cc_bibliographic_item"
|
8
9
|
require "relaton_calconnect/xml_parser"
|
9
10
|
require "relaton_calconnect/hash_converter"
|
@@ -4,5 +4,12 @@ module RelatonCalconnect
|
|
4
4
|
directive guide specification standard report administrative amendment
|
5
5
|
technical\ corrigendum advisory
|
6
6
|
].freeze
|
7
|
+
|
8
|
+
# @param hash [Hash]
|
9
|
+
# @return [RelatonIsoBib::CcBibliographicItem]
|
10
|
+
def self.from_hash(hash)
|
11
|
+
item_hash = ::RelatonCalconnect::HashConverter.hash_to_bib(hash)
|
12
|
+
new **item_hash
|
13
|
+
end
|
7
14
|
end
|
8
15
|
end
|
@@ -64,9 +64,9 @@ module RelatonCalconnect
|
|
64
64
|
return { ret: item } if !year
|
65
65
|
|
66
66
|
item.date.select { |d| d.type == "published" }.each do |d|
|
67
|
-
return { ret: item } if year.to_i == d.on
|
67
|
+
return { ret: item } if year.to_i == d.on(:year)
|
68
68
|
|
69
|
-
missed_years << d.on
|
69
|
+
missed_years << d.on(:year)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
{ years: missed_years }
|
@@ -1,4 +1,15 @@
|
|
1
1
|
module RelatonCalconnect
|
2
2
|
class HashConverter < RelatonBib::HashConverter
|
3
|
+
class << self
|
4
|
+
# @param ret [Hash]
|
5
|
+
def editorialgroup_hash_to_bib(ret)
|
6
|
+
return unless ret[:editorialgroup]
|
7
|
+
|
8
|
+
technical_committee = array(ret[:editorialgroup]).map do |wg|
|
9
|
+
TechnicalCommittee.new RelatonBib::WorkGroup.new(**wg)
|
10
|
+
end
|
11
|
+
ret[:editorialgroup] = RelatonBib::EditorialGroup.new technical_committee
|
12
|
+
end
|
13
|
+
end
|
3
14
|
end
|
4
15
|
end
|
@@ -28,8 +28,7 @@ module RelatonCalconnect
|
|
28
28
|
# @param hash [Hash]
|
29
29
|
# @return [RelatonIsoBib::CcBibliographicItem]
|
30
30
|
def hash_to_bib(hash)
|
31
|
-
|
32
|
-
::RelatonCalconnect::CcBibliographicItem.new item_hash
|
31
|
+
::RelatonCalconnect::CcBibliographicItem.from_hash hash
|
33
32
|
end
|
34
33
|
|
35
34
|
# Returns hash of XML grammar
|
@@ -5,7 +5,20 @@ module RelatonCalconnect
|
|
5
5
|
# @param item_hash [Hash]
|
6
6
|
# @return [RelatonIsoBib::IsoBibliographicItem]
|
7
7
|
def bib_item(item_hash)
|
8
|
-
CcBibliographicItem.new item_hash
|
8
|
+
CcBibliographicItem.new **item_hash
|
9
|
+
end
|
10
|
+
|
11
|
+
# @param ext [Nokogiri::XML::Element]
|
12
|
+
# @return [RelatonBib::EditorialGroup, nil]
|
13
|
+
def fetch_editorialgroup(ext)
|
14
|
+
return unless ext && (eg = ext.at "editorialgroup")
|
15
|
+
|
16
|
+
eg = eg.xpath("committee", "technical-committee").map do |tc|
|
17
|
+
wg = RelatonBib::WorkGroup.new(content: tc.text, number: tc[:number]&.to_i,
|
18
|
+
type: tc[:type])
|
19
|
+
TechnicalCommittee.new wg
|
20
|
+
end
|
21
|
+
RelatonBib::EditorialGroup.new eg if eg.any?
|
9
22
|
end
|
10
23
|
end
|
11
24
|
end
|
data/relaton_calconnect.gemspec
CHANGED
@@ -26,16 +26,16 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.require_paths = ["lib"]
|
27
27
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
28
28
|
|
29
|
-
spec.add_development_dependency "debase"
|
29
|
+
# spec.add_development_dependency "debase"
|
30
30
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
31
31
|
spec.add_development_dependency "rake", "~> 10.0"
|
32
32
|
spec.add_development_dependency "rspec", "~> 3.0"
|
33
|
-
spec.add_development_dependency "ruby-debug-ide"
|
33
|
+
# spec.add_development_dependency "ruby-debug-ide"
|
34
34
|
spec.add_development_dependency "ruby-jing"
|
35
35
|
spec.add_development_dependency "simplecov"
|
36
36
|
spec.add_development_dependency "vcr"
|
37
37
|
spec.add_development_dependency "webmock"
|
38
38
|
|
39
39
|
spec.add_dependency "faraday"
|
40
|
-
spec.add_dependency "relaton-bib", "~> 1.
|
40
|
+
spec.add_dependency "relaton-bib", "~> 1.8.0"
|
41
41
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-calconnect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: debase
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: equivalent-xml
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +52,6 @@ dependencies:
|
|
66
52
|
- - "~>"
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '3.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: ruby-debug-ide
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
56
|
name: ruby-jing
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +128,14 @@ dependencies:
|
|
156
128
|
requirements:
|
157
129
|
- - "~>"
|
158
130
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
131
|
+
version: 1.8.0
|
160
132
|
type: :runtime
|
161
133
|
prerelease: false
|
162
134
|
version_requirements: !ruby/object:Gem::Requirement
|
163
135
|
requirements:
|
164
136
|
- - "~>"
|
165
137
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
138
|
+
version: 1.8.0
|
167
139
|
description: 'RelatonIso: retrieve CC Standards for bibliographic use using the IsoBibliographicItem
|
168
140
|
model'
|
169
141
|
email:
|
@@ -172,9 +144,7 @@ executables: []
|
|
172
144
|
extensions: []
|
173
145
|
extra_rdoc_files: []
|
174
146
|
files:
|
175
|
-
- ".github/workflows/
|
176
|
-
- ".github/workflows/ubuntu.yml"
|
177
|
-
- ".github/workflows/windows.yml"
|
147
|
+
- ".github/workflows/rake.yml"
|
178
148
|
- ".gitignore"
|
179
149
|
- ".rspec"
|
180
150
|
- ".rubocop.yml"
|
@@ -198,6 +168,7 @@ files:
|
|
198
168
|
- lib/relaton_calconnect/hit_collection.rb
|
199
169
|
- lib/relaton_calconnect/processor.rb
|
200
170
|
- lib/relaton_calconnect/scrapper.rb
|
171
|
+
- lib/relaton_calconnect/technical_committee.rb
|
201
172
|
- lib/relaton_calconnect/version.rb
|
202
173
|
- lib/relaton_calconnect/xml_parser.rb
|
203
174
|
- relaton_calconnect.gemspec
|
@@ -220,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
191
|
- !ruby/object:Gem::Version
|
221
192
|
version: '0'
|
222
193
|
requirements: []
|
223
|
-
rubygems_version: 3.
|
194
|
+
rubygems_version: 3.2.3
|
224
195
|
signing_key:
|
225
196
|
specification_version: 4
|
226
197
|
summary: 'RelatonIso: retrieve CC Standards for bibliographic use using the IsoBibliographicItem
|
data/.github/workflows/macos.yml
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: macos
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master ]
|
8
|
-
pull_request:
|
9
|
-
branches: [ '**' ]
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-macos:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} macOS
|
14
|
-
runs-on: macos-latest
|
15
|
-
strategy:
|
16
|
-
fail-fast: false
|
17
|
-
matrix:
|
18
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
-
steps:
|
20
|
-
- uses: actions/checkout@master
|
21
|
-
- name: Use Ruby
|
22
|
-
uses: actions/setup-ruby@v1
|
23
|
-
with:
|
24
|
-
ruby-version: ${{ matrix.ruby }}
|
25
|
-
architecture: 'x64'
|
26
|
-
- name: Update gems
|
27
|
-
run: |
|
28
|
-
sudo gem install bundler --force
|
29
|
-
bundle install --jobs 4 --retry 3
|
30
|
-
- name: Run specs
|
31
|
-
run: |
|
32
|
-
bundle exec rake
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: ubuntu
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master ]
|
8
|
-
pull_request:
|
9
|
-
branches: [ '**' ]
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-linux:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} Ubuntu
|
14
|
-
runs-on: ubuntu-latest
|
15
|
-
strategy:
|
16
|
-
fail-fast: false
|
17
|
-
matrix:
|
18
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
-
steps:
|
20
|
-
- uses: actions/checkout@master
|
21
|
-
- name: Use Ruby
|
22
|
-
uses: actions/setup-ruby@v1
|
23
|
-
with:
|
24
|
-
ruby-version: ${{ matrix.ruby }}
|
25
|
-
architecture: 'x64'
|
26
|
-
- name: Update gems
|
27
|
-
run: |
|
28
|
-
gem install bundler
|
29
|
-
bundle install --jobs 4 --retry 3
|
30
|
-
- name: Run specs
|
31
|
-
run: |
|
32
|
-
unset JAVA_TOOL_OPTIONS
|
33
|
-
bundle exec rake
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
-
# See https://github.com/metanorma/cimas
|
3
|
-
name: windows
|
4
|
-
|
5
|
-
on:
|
6
|
-
push:
|
7
|
-
branches: [ master ]
|
8
|
-
pull_request:
|
9
|
-
branches: [ '**' ]
|
10
|
-
|
11
|
-
jobs:
|
12
|
-
test-windows:
|
13
|
-
name: Test on Ruby ${{ matrix.ruby }} Windows
|
14
|
-
runs-on: windows-latest
|
15
|
-
strategy:
|
16
|
-
fail-fast: false
|
17
|
-
matrix:
|
18
|
-
ruby: [ '2.6', '2.5', '2.4' ]
|
19
|
-
steps:
|
20
|
-
- uses: actions/checkout@master
|
21
|
-
- name: Use Ruby
|
22
|
-
uses: actions/setup-ruby@v1
|
23
|
-
with:
|
24
|
-
ruby-version: ${{ matrix.ruby }}
|
25
|
-
architecture: 'x64'
|
26
|
-
- name: Update gems
|
27
|
-
shell: pwsh
|
28
|
-
run: |
|
29
|
-
gem install bundler
|
30
|
-
bundle config --local path vendor/bundle
|
31
|
-
bundle update
|
32
|
-
bundle install --jobs 4 --retry 3
|
33
|
-
- name: Run specs
|
34
|
-
run: |
|
35
|
-
bundle exec rake
|