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.
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
- <optional>
70
+ <zeroOrMore>
52
71
  <ref name="reqinherit"/>
53
- </optional>
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>
@@ -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.year
67
+ return { ret: item } if year.to_i == d.on(:year)
68
68
 
69
- missed_years << d.on.year
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
- item_hash = ::RelatonCalconnect::HashConverter.hash_to_bib(hash)
32
- ::RelatonCalconnect::CcBibliographicItem.new item_hash
31
+ ::RelatonCalconnect::CcBibliographicItem.from_hash hash
33
32
  end
34
33
 
35
34
  # Returns hash of XML grammar
@@ -0,0 +1,8 @@
1
+ module RelatonCalconnect
2
+ class TechnicalCommittee < RelatonBib::TechnicalCommittee
3
+ # @param builder [Nokogiri::XML::Builder]
4
+ def to_xml(builder)
5
+ builder.committee { |b| workgroup.to_xml b }
6
+ end
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonCalconnect
2
- VERSION = "1.5.0".freeze
2
+ VERSION = "1.8.0".freeze
3
3
  end
@@ -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
@@ -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.5.0"
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.5.0
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: 2020-10-09 00:00:00.000000000 Z
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.5.0
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.5.0
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/macos.yml"
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.0.6
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
@@ -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