relaton-omg 1.14.0 → 1.16.1

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: 16901d647bffb0b9f3e61729c1c43f43ce961e0f09e132e678b248f2289b338e
4
- data.tar.gz: 550eb3e6edc11281ae1ee3e794d1c973a8c0cc7920a44918f881ad8dcdd1a8b3
3
+ metadata.gz: 68a04e76b6f9b7e0262d94edad9b9f419940e78e6dd983cfa6707f8142cfec90
4
+ data.tar.gz: 6e8d87f0e245b545f55dc2c329cbc8801e29555317630134446f49f0532a4fc1
5
5
  SHA512:
6
- metadata.gz: 33eb37bdb3abe8d6eae1179e1c8b647f9b9d0efbcf661c5adf9079ae8971ff87acc387022027b5ffce313e70fdc28410b791be0bc5d2511892a5efb0c16c5d55
7
- data.tar.gz: 31a2bdeb94d1327376785daea0f033af744403c03a7eea07098953aca29bc88b25adfffdbabed71cc08b28e5efe9eabe03c41f7ee38530e6701cdc93a26a2df0
6
+ metadata.gz: 73fe10dc67e851fb68219c56c8254a82b56b080e1b1608bb9ad4e396a6dcbfc2cf31ba4db40247fd80f4a3d5a6a13bd4ec6fa4cc3f7a270b7a93fbd61783eee4
7
+ data.tar.gz: c5d8eada8199773bd6711094e11a70ea8fb42c13f0531c6b75064a80f5f6f106f02b0446d8eb1f42213664962891ec2f10e045d35158afa9eff293e2e19adb2d
@@ -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:
@@ -7,11 +7,13 @@ on:
7
7
  inputs:
8
8
  next_version:
9
9
  description: |
10
- Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
10
+ Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
11
+ Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
11
12
  required: true
12
13
  default: 'skip'
13
- push:
14
- tags: [ v* ]
14
+ repository_dispatch:
15
+ types: [ do-release ]
16
+
15
17
 
16
18
  jobs:
17
19
  release:
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.5
10
+ TargetRubyVersion: 2.7
11
11
  Rails:
12
12
  Enabled: false
data/Gemfile CHANGED
@@ -5,3 +5,11 @@ gemspec
5
5
 
6
6
  gem "rake"
7
7
  gem "rspec", "~> 3.0"
8
+
9
+ gem "byebug"
10
+ gem "equivalent-xml", "~> 0.6"
11
+ gem "pry-byebug"
12
+ gem "ruby-jing"
13
+ gem "simplecov"
14
+ gem "vcr"
15
+ gem "webmock"
data/README.adoc CHANGED
@@ -58,7 +58,7 @@ RelatonOmg::OmgBibliography.get 'OMG 1111'
58
58
  [source,ruby]
59
59
  ----
60
60
  item.to_xml
61
- => "<bibitem id="AMI4CCM1.0" schema-version="v1.2.1">
61
+ => "<bibitem id="AMI4CCM1.0" schema-version="v1.2.4">
62
62
  <fetched>2022-12-05</fetched>
63
63
  <title type="main" format="text/plain" language="en" script="Latn">Asynchronous Method Invocation for CCM</title>
64
64
  <uri type="src">https://www.omg.org/spec/AMI4CCM/1.0/About-AMI4CCM</uri>
@@ -92,7 +92,7 @@ item = RelatonOmg::OmgBibliographicItem.from_xml 'spec/fixtures/omg_ami4ccm_1_0.
92
92
  [source,ruby]
93
93
  ----
94
94
  hash = YAML.load_file 'spec/fixtures/omg_ami4ccm_1_0.yaml'
95
- => {"schema-version"=>"v1.2.1",
95
+ => {"schema-version"=>"v1.2.4",
96
96
  "id"=>"AMI4CCM1.0",
97
97
  ...
98
98
 
@@ -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">
@@ -1273,7 +1283,7 @@
1273
1283
  <value>mergedInto</value>
1274
1284
  <value>splits</value>
1275
1285
  <value>splitInto</value>
1276
- <value>instance</value>
1286
+ <value>instanceOf</value>
1277
1287
  <value>hasInstance</value>
1278
1288
  <value>exemplarOf</value>
1279
1289
  <value>hasExemplar</value>
@@ -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>
@@ -0,0 +1,10 @@
1
+ module RelatonOmg
2
+ module Config
3
+ include RelatonBib::Config
4
+ end
5
+ extend Config
6
+
7
+ class Configuration < RelatonBib::Configuration
8
+ PROGNAME = "relaton-omg".freeze
9
+ end
10
+ end
@@ -15,7 +15,14 @@ module RelatonOmg
15
15
  # @param opts [Hash] options
16
16
  # @return [RelatonOmg::OmgBibliographicItem]
17
17
  def get(code, _year = nil, _opts = {})
18
- search code
18
+ Util.warn "(#{code}) fetching from OMG website..."
19
+ result = search code
20
+ if result
21
+ Util.warn "(#{code}) found `#{result.docidentifier.first.id}`"
22
+ else
23
+ Util.warn "(#{code}) no document found"
24
+ end
25
+ result
19
26
  end
20
27
  end
21
28
  end
@@ -13,19 +13,19 @@ module RelatonOmg
13
13
  # @param code [String]
14
14
  # @param date [String, NilClass] year
15
15
  # @param opts [Hash]
16
- # @return [RelatonIetf::IetfBibliographicItem]
16
+ # @return [RelatonOmg::OmgBibliographicItem]
17
17
  def get(code, date, opts)
18
18
  ::RelatonOmg::OmgBibliography.get(code, date, opts)
19
19
  end
20
20
 
21
21
  # @param xml [String]
22
- # @return [RelatonIetf::IetfBibliographicItem]
22
+ # @return [RelatonOmg::OmgBibliographicItem]
23
23
  def from_xml(xml)
24
24
  ::RelatonOmg::XMLParser.from_xml xml
25
25
  end
26
26
 
27
27
  # @param hash [Hash]
28
- # @return [RelatonIetf::IetfBibliographicItem]
28
+ # @return [RelatonOmg::OmgBibliographicItem]
29
29
  def hash_to_bib(hash)
30
30
  # item_hash = ::RelatonOmg::HashConverter.hash_to_bib(hash)
31
31
  ::RelatonOmg::OmgBibliographicItem.from_hash hash
@@ -14,12 +14,9 @@ module RelatonOmg
14
14
  doc = Nokogiri::HTML OpenURI.open_uri(url, open_timeout: 10)
15
15
  OmgBibliographicItem.new(**item(doc, acronym))
16
16
  rescue OpenURI::HTTPError, URI::InvalidURIError, Net::OpenTimeout => e
17
- if e.is_a?(URI::InvalidURIError) || e.io.status[0] == "404"
18
- warn %{[relaton-omg] no document found for "#{ref}" reference.}
19
- return
20
- end
17
+ return if e.is_a?(URI::InvalidURIError) || e.io.status[0] == "404"
21
18
 
22
- raise RelatonBib::RequestError, "Unable acces #{url} (#{e.io.status.join(" ")}"
19
+ raise RelatonBib::RequestError, "Unable acces #{url} (#{e.io.status.join(' ')}"
23
20
  end
24
21
 
25
22
  private
@@ -121,4 +118,4 @@ module RelatonOmg
121
118
  end
122
119
  end
123
120
  end
124
- end
121
+ end
@@ -0,0 +1,9 @@
1
+ module RelatonOmg
2
+ module Util
3
+ extend RelatonBib::Util
4
+
5
+ def self.logger
6
+ RelatonOmg.configuration.logger
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonOmg
2
- VERSION = "1.14.0".freeze
2
+ VERSION = "1.16.1".freeze
3
3
  end
data/lib/relaton_omg.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "nokogiri"
2
2
  require "relaton_bib"
3
3
  require "relaton_omg/version"
4
+ require "relaton_omg/config"
5
+ require "relaton_omg/util"
4
6
  require "relaton_omg/scrapper"
5
7
  require "relaton_omg/omg_bibliography"
6
8
  require "relaton_omg/omg_bibliographic_item"
@@ -11,9 +13,9 @@ module RelatonOmg
11
13
  # Returns hash of XML reammar
12
14
  # @return [String]
13
15
  def self.grammar_hash
14
- gem_path = File.expand_path "..", __dir__
15
- grammars_path = File.join gem_path, "grammars", "*"
16
- grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
17
- Digest::MD5.hexdigest grammars
16
+ # gem_path = File.expand_path "..", __dir__
17
+ # grammars_path = File.join gem_path, "grammars", "*"
18
+ # grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
19
+ Digest::MD5.hexdigest RelatonOmg::VERSION + RelatonBib::VERSION # grammars
18
20
  end
19
- end
21
+ end
data/relaton_omg.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  "using the IsoBibliographicItem model"
13
13
  spec.homepage = "https://github.com/relaton/relaton-ogn"
14
14
  spec.license = "BSD-2-Clause"
15
- spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
18
18
  spec.metadata["source_code_uri"] = "https://github.com/relaton/relaton-ogn"
@@ -26,13 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ["lib"]
28
28
 
29
- spec.add_development_dependency "byebug"
30
- spec.add_development_dependency "equivalent-xml", "~> 0.6"
31
- spec.add_development_dependency "pry-byebug"
32
- spec.add_development_dependency "ruby-jing"
33
- spec.add_development_dependency "simplecov"
34
- spec.add_development_dependency "vcr"
35
- spec.add_development_dependency "webmock"
36
-
37
- spec.add_dependency "relaton-bib", "~> 1.14.0"
29
+ spec.add_dependency "relaton-bib", "~> 1.16.0"
38
30
  end
metadata CHANGED
@@ -1,127 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-omg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.16.1
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-05 00:00:00.000000000 Z
11
+ date: 2023-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: byebug
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
- - !ruby/object:Gem::Dependency
28
- name: equivalent-xml
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.6'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.6'
41
- - !ruby/object:Gem::Dependency
42
- name: pry-byebug
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: ruby-jing
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: simplecov
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
- - !ruby/object:Gem::Dependency
84
- name: vcr
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: webmock
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
13
  - !ruby/object:Gem::Dependency
112
14
  name: relaton-bib
113
15
  requirement: !ruby/object:Gem::Requirement
114
16
  requirements:
115
17
  - - "~>"
116
18
  - !ruby/object:Gem::Version
117
- version: 1.14.0
19
+ version: 1.16.0
118
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: 1.14.0
26
+ version: 1.16.0
125
27
  description: 'RelatonOmg: retrieve OMG Standards for bibliographic using the IsoBibliographicItem
126
28
  model'
127
29
  email:
@@ -149,11 +51,13 @@ files:
149
51
  - grammars/relaton-omg-compile.rng
150
52
  - grammars/relaton-omg.rng
151
53
  - lib/relaton_omg.rb
54
+ - lib/relaton_omg/config.rb
152
55
  - lib/relaton_omg/hash_converter.rb
153
56
  - lib/relaton_omg/omg_bibliographic_item.rb
154
57
  - lib/relaton_omg/omg_bibliography.rb
155
58
  - lib/relaton_omg/processor.rb
156
59
  - lib/relaton_omg/scrapper.rb
60
+ - lib/relaton_omg/util.rb
157
61
  - lib/relaton_omg/version.rb
158
62
  - lib/relaton_omg/xml_parser.rb
159
63
  - relaton_omg.gemspec
@@ -171,14 +75,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
75
  requirements:
172
76
  - - ">="
173
77
  - !ruby/object:Gem::Version
174
- version: 2.5.0
78
+ version: 2.7.0
175
79
  required_rubygems_version: !ruby/object:Gem::Requirement
176
80
  requirements:
177
81
  - - ">="
178
82
  - !ruby/object:Gem::Version
179
83
  version: '0'
180
84
  requirements: []
181
- rubygems_version: 3.1.6
85
+ rubygems_version: 3.3.26
182
86
  signing_key:
183
87
  specification_version: 4
184
88
  summary: 'RelatonOmg: retrieve OMG Standards for bibliographic using the IsoBibliographicItem