relaton-bipm 1.16.0 → 1.16.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1db042c4a912ff57cf2fc14c3d7f43047e06f44ac3f30f45564ea9214201571
4
- data.tar.gz: d089989213bb5b37722e493600852c687ad1e889983d75f874c691e970e71ad4
3
+ metadata.gz: ced155bf740bb8a1bb34fffc1c58bb864b753236abeb8a406aef9a2a509835c2
4
+ data.tar.gz: 7111b47d1617da91a47919336d2bc665de041e3ae109d06e0182ea9ad01ff140
5
5
  SHA512:
6
- metadata.gz: 896bdd6d0bab83f90479990c232a34a35d5a6a76a0ea4514410741e2febf94622b103d0e6403aeebd4acec5a2a347d03232a56f7cb33298b94bd1e347e40a62b
7
- data.tar.gz: 9175449ecb0da4a81389203aeccd1c541f2fd6f2f6028c087e9c40f263b143ffebc5c768df3bb299007e6150fccdfa51cd98b180d274363f902642df3a47a316
6
+ metadata.gz: d48462fd26483e16041580591fd0b3b5e0f58bdea4058dab03210606e1f49f6ddaddfe0b69a9e4c1e930496b56580315f2ad14644a1fb04abae4d991009c0004
7
+ data.tar.gz: 2e8ac7afb0fda2c8f8f1acf1beb00c3870ab8941250f124e718e3b6f251d67dfc69442251c4ec6965c4e5a895d90d7da8e5354976152a87691e11980e832da0a
data/README.adoc CHANGED
@@ -187,76 +187,87 @@ Recommendation JCRB/43-1 (2021) / Recommandation JCRB/43-1 (2021)
187
187
  JCRB REC JCRB/43-1 (2021)
188
188
  ----
189
189
 
190
- ==== Examples
190
+ === Configuration
191
+
192
+ Configuration is optional. The available option is `logger` which is a `Logger` instance. By default, the logger is `Logger.new($stderr)` with `Logger::WARN` level. To change the logger level, use `RelatonBipm.configure` block.
191
193
 
192
194
  [source,ruby]
193
195
  ----
194
196
  require 'relaton_bipm'
195
197
  => true
196
198
 
199
+ RelatonBipm.configure do |config|
200
+ config.logger.level = Logger::DEBUG
201
+ end
202
+ ----
203
+
204
+ ==== Examples
205
+
206
+ [source,ruby]
207
+ ----
197
208
  # get BIPM brochure
198
209
  item = RelatonBipm::BipmBibliography.get "BIPM SI Brochure"
199
- [relaton-bipm] ("BIPM SI Brochure") fetching...
200
- [relaton-bipm] ("BIPM SI Brochure") found BIPM SI Brochure
210
+ [relaton-bipm] (BIPM SI Brochure) fetching...
211
+ [relaton-bipm] (BIPM SI Brochure) found `BIPM SI Brochure`
201
212
  => #<RelatonBipm::BipmBibliographicItem:0x007ffb83982fe8
202
213
  ...
203
214
 
204
215
  # get BIPM Metrologia page
205
216
  bib = RelatonBipm::BipmBibliography.get "BIPM Metrologia 29 6 001"
206
- [relaton-bipm] ("BIPM Metrologia 29 6 001") fetching...
207
- [relaton-bipm] ("BIPM Metrologia 29 6 001") found Metrologia 29 6 001
217
+ [relaton-bipm] (BIPM Metrologia 29 6 001) fetching...
218
+ [relaton-bipm] (BIPM Metrologia 29 6 001) found `Metrologia 29 6 001`
208
219
  => #<RelatonBipm::BipmBibliographicItem:0x007f8857f94d40
209
220
  ...
210
221
 
211
222
  # get CGPM meetings
212
223
  RelatonBipm::BipmBibliography.get "CGPM 1st Meeting (1889)"
213
- [relaton-bipm] ("CGPM 1st Meeting (1889)") fetching...
214
- [relaton-bipm] ("CGPM 1st Meeting (1889)") found CGPM 1th meeting (1889)
224
+ [relaton-bipm] (CGPM 1st Meeting (1889)) fetching...
225
+ [relaton-bipm] (CGPM 1st Meeting (1889)) found `CGPM 1th meeting (1889)`
215
226
  => #<RelatonBipm::BipmBibliographicItem:0x00007f7fd02aba28
216
227
  ...
217
228
 
218
229
  # get CGPM resolutions
219
230
  RelatonBipm::BipmBibliography.get "CGPM RES (1889, E)"
220
- [relaton-bipm] ("CGPM RES (1889, E)") fetching...
221
- [relaton-bipm] ("CGPM RES (1889, E)") found CGPM RES (1889)
231
+ [relaton-bipm] (CGPM RES (1889, E)) fetching...
232
+ [relaton-bipm] (CGPM RES (1889, E)) found `CGPM RES (1889)`
222
233
  => #<RelatonBipm::BipmBibliographicItem:0x00007f80421f93d8
223
234
  ...
224
235
 
225
236
  RelatonBipm::BipmBibliography.get "CGPM Resolution (1889)"
226
- [relaton-bipm] ("CGPM Resolution (1889)") fetching...
227
- [relaton-bipm] ("CGPM Resolution (1889)") found CGPM RES (1889)
237
+ [relaton-bipm] (CGPM Resolution (1889)) fetching...
238
+ [relaton-bipm] (CGPM Resolution (1889)) found `CGPM RES (1889)`
228
239
  => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f60c18
229
240
  ...
230
241
 
231
242
  RelatonBipm::BipmBibliography.get "CGPM Résolution (1889)"
232
- [relaton-bipm] ("CGPM Résolution (1889)") fetching...
233
- [relaton-bipm] ("CGPM Résolution (1889)") found CGPM RES (1889)
243
+ [relaton-bipm] (CGPM Résolution (1889)) fetching...
244
+ [relaton-bipm] (CGPM Résolution (1889)) found `CGPM RES (1889)`
234
245
  => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f492e8
235
246
  ...
236
247
 
237
248
  # get CIPM decision by year and decision number
238
249
  RelatonBipm::BipmBibliography.get "BIPM Decision CIPM/101-1 (2012)"
239
- [relaton-bipm] ("BIPM Decision CIPM/101-1 (2012)") fetching...
240
- [relaton-bipm] ("BIPM Decision CIPM/101-1 (2012)") found CIPM DECN 101-1 (2012)
250
+ [relaton-bipm] (BIPM Decision CIPM/101-1 (2012)) fetching...
251
+ [relaton-bipm] (BIPM Decision CIPM/101-1 (2012)) found `CIPM DECN 101-1 (2012)`
241
252
  => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f2bd88
242
253
  ...
243
254
 
244
255
  RelatonBipm::BipmBibliography.get "BIPM DECN CIPM/101-1 (2012, E)"
245
- [relaton-bipm] ("BIPM DECN CIPM/101-1 (2012, E)") fetching...
246
- [relaton-bipm] ("BIPM DECN CIPM/101-1 (2012, E)") found CIPM DECN 101-1 (2012)
256
+ [relaton-bipm] (BIPM DECN CIPM/101-1 (2012, E)) fetching...
257
+ [relaton-bipm] (BIPM DECN CIPM/101-1 (2012, E)) found `CIPM DECN 101-1 (2012)`
247
258
  => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f39438
248
259
  ...
249
260
 
250
261
  # get CIPM recommendation
251
262
  RelatonBipm::BipmBibliography.get "CIPM Recommendation 1 (2005)"
252
- [relaton-bipm] ("CIPM Recommendation 1 (2005)") fetching...
253
- [relaton-bipm] ("CIPM Recommendation 1 (2005)") found CIPM REC 1 (2005)
263
+ [relaton-bipm] (CIPM Recommendation 1 (2005)) fetching...
264
+ [relaton-bipm] (CIPM Recommendation 1 (2005)) found `CIPM REC 1 (2005)`
254
265
  => #<RelatonBipm::BipmBibliographicItem:0x00007f8017f31da0
255
266
  ...
256
267
 
257
268
  RelatonBipm::BipmBibliography.get "CIPM REC 1 (2005, FR)"
258
- [relaton-bipm] ("CIPM REC 1 (2005, FR)") fetching...
259
- [relaton-bipm] ("CIPM REC 1 (2005, FR)") found CIPM REC 1 (2005)
269
+ [relaton-bipm] (CIPM REC 1 (2005, FR)) fetching...
270
+ [relaton-bipm] (CIPM REC 1 (2005, FR)) found `CIPM REC 1 (2005)`
260
271
  => #<RelatonBipm::BipmBibliographicItem:0x00007f80422100d8
261
272
  ...
262
273
  ----
@@ -27,13 +27,13 @@ module RelatonBipm
27
27
  # @param structuredidentifier [RelatonBipm::StructuredIdentifier]
28
28
  def initialize(**args) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
29
29
  if args[:docstatus] && !STATUSES.include?(args[:docstatus].stage.value)
30
- warn "[relaton-bipm] Warning: invalid docstatus: #{args[:docstatus].stage.value}. " \
31
- "It should be one of: #{STATUSES}"
30
+ Util.warn "WARNING: invalid docstatus: `#{args[:docstatus].stage.value}`. " \
31
+ "It should be one of: `#{STATUSES.join('`, `')}`"
32
32
  end
33
33
 
34
34
  if args[:si_aspect] && !SI_ASPECTS.include?(args[:si_aspect])
35
- warn "[relaton-bipm] Warning: invalid si_aspect: #{args[:si_aspect]}. " \
36
- "It should be one of: #{SI_ASPECTS}"
35
+ Util.warn "WARNING: invalid si_aspect: `#{args[:si_aspect]}``. " \
36
+ "It should be one of: `#{SI_ASPECTS.join('`, `')}`"
37
37
  end
38
38
 
39
39
  @comment_period = args.delete :comment_period
@@ -9,47 +9,49 @@ module RelatonBipm
9
9
  # @param text [String]
10
10
  # @return [RelatonBipm::BipmBibliographicItem]
11
11
  def search(text, _year = nil, _opts = {}) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
12
- warn "[relaton-bipm] (\"#{text}\") fetching..."
12
+ Util.warn "(#{text}) fetching from Relaton repository ..."
13
13
  ref = text.sub(/^BIPM\s/, "")
14
- item = get_bipm(ref, magent)
14
+ item = get_bipm ref
15
15
  unless item
16
- warn "[relaton-bipm] (\"#{text}\") not found."
16
+ Util.warn "(#{text}) not found."
17
17
  return
18
18
  end
19
19
 
20
- warn("[relaton-bipm] (\"#{text}\") found #{item.docidentifier[0].id}")
20
+ Util.warn("(#{text}) found `#{item.docidentifier[0].id}`")
21
21
  item
22
22
  rescue Mechanize::ResponseCodeError => e
23
23
  raise RelatonBib::RequestError, e.message unless e.response_code == "404"
24
24
  end
25
25
 
26
26
  # @return [Mechanize]
27
- def magent # rubocop:disable Metrics/MethodLength
28
- a = Mechanize.new
29
- a.request_headers = {
30
- "Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9," \
31
- "image/avif,image/webp,image/apng," \
32
- "*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
33
- "Accept-Encoding" => "gzip, deflate, br",
34
- "Accept-Language" => "en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7",
35
- "Cache-Control" => "max-age=0",
36
- "Upgrade-Insecure-Requests" => "1",
37
- }
38
- a.user_agent_alias = Mechanize::AGENT_ALIASES.map(&:first).shuffle.first
39
- # a.user_agent_alias = "Mac Safari"
40
- a
41
- end
27
+ # def magent # rubocop:disable Metrics/MethodLength
28
+ # a = Mechanize.new
29
+ # a.request_headers = {
30
+ # "Accept" => "text/html,application/xhtml+xml,application/xml;q=0.9," \
31
+ # "image/avif,image/webp,image/apng," \
32
+ # "*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
33
+ # "Accept-Encoding" => "gzip, deflate, br",
34
+ # "Accept-Language" => "en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7",
35
+ # "Cache-Control" => "max-age=0",
36
+ # "Upgrade-Insecure-Requests" => "1",
37
+ # }
38
+ # a.user_agent_alias = Mechanize::AGENT_ALIASES.map(&:first).shuffle.first
39
+ # # a.user_agent_alias = "Mac Safari"
40
+ # a
41
+ # end
42
42
 
43
+ #
43
44
  # @param reference [String]
44
- # @param agent [Mechanize]
45
+ #
45
46
  # @return [RelatonBipm::BipmBibliographicItem]
46
- def get_bipm(reference, agent) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
47
+ #
48
+ def get_bipm(reference) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
47
49
  ref_id = Id.new reference
48
50
  rows = index.search { |r| ref_id == r[:id] }
49
51
  return unless rows.any?
50
52
 
51
53
  url = "#{GH_ENDPOINT}#{rows.first[:file]}"
52
- resp = agent.get url
54
+ resp = Mechanize.new.get url
53
55
  return unless resp.code == "200"
54
56
 
55
57
  yaml = RelatonBib.parse_yaml resp.body, [Date]
@@ -11,8 +11,8 @@ module RelatonBipm
11
11
  def initialize(acronym:, content: nil)
12
12
  acronyms = YAML.load_file File.join(__dir__, "acronyms.yaml")
13
13
  unless acronyms[acronym]
14
- warn "[relaton-bipm] WARNING: invalid acronym: #{acronym}. Allowed " \
15
- "values: #{acronyms.map { |k, _v| k }.join ', '}"
14
+ Util.warn "WARNING: invalid acronym: `#{acronym}`. Allowed " \
15
+ "values: `#{acronyms.map { |k, _v| k }.join '`, `'}`"
16
16
  end
17
17
 
18
18
  @acronym = acronym
@@ -0,0 +1,10 @@
1
+ module RelatonBipm
2
+ module Config
3
+ include RelatonBib::Config
4
+ end
5
+ extend Config
6
+
7
+ class Configuration < RelatonBib::Configuration
8
+ PROGNAME = "relaton-bipm".freeze
9
+ end
10
+ end
@@ -76,7 +76,7 @@ module RelatonBipm
76
76
  def initialize(id)
77
77
  @id = Parser.new.parse(id)
78
78
  rescue Parslet::ParseFailed => e
79
- warn "[relaton-bipm] Incorrect reference: #{id}"
79
+ Util.warn "WARNING: Incorrect reference: `#{id}`"
80
80
  # warn "[relaton-bipm] #{e.parse_failure_cause.ascii_tree}"
81
81
  raise RelatonBib::RequestError, e
82
82
  end
@@ -0,0 +1,9 @@
1
+ module RelatonBipm
2
+ module Util
3
+ extend RelatonBib::Util
4
+
5
+ def self.logger
6
+ RelatonBipm.configuration.logger
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonBipm
2
- VERSION = "1.16.0".freeze
2
+ VERSION = "1.16.2".freeze
3
3
  end
data/lib/relaton_bipm.rb CHANGED
@@ -3,6 +3,8 @@ require "fileutils"
3
3
  require "parslet"
4
4
  require "relaton_bib"
5
5
  require "relaton/index"
6
+ require "relaton_bipm/config"
7
+ require "relaton_bipm/util"
6
8
  require "relaton_bipm/id_parser"
7
9
  require "relaton_bipm/version"
8
10
  require "relaton_bipm/editorial_group"
@@ -28,10 +30,10 @@ module RelatonBipm
28
30
  # Returns hash of XML reammar
29
31
  # @return [String]
30
32
  def grammar_hash
31
- gem_path = File.expand_path "..", __dir__
32
- grammars_path = File.join gem_path, "grammars", "*"
33
- grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
34
- Digest::MD5.hexdigest grammars
33
+ # gem_path = File.expand_path "..", __dir__
34
+ # grammars_path = File.join gem_path, "grammars", "*"
35
+ # grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
36
+ Digest::MD5.hexdigest RelatonBipm::VERSION + RelatonBib::VERSION # grammars
35
37
  end
36
38
 
37
39
  extend self
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-bipm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 1.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-03 00:00:00.000000000 Z
11
+ date: 2023-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -127,6 +127,7 @@ files:
127
127
  - lib/relaton_bipm/bipm_si_brochure_parser.rb
128
128
  - lib/relaton_bipm/comment_periond.rb
129
129
  - lib/relaton_bipm/committee.rb
130
+ - lib/relaton_bipm/config.rb
130
131
  - lib/relaton_bipm/data_fetcher.rb
131
132
  - lib/relaton_bipm/data_outcomes_parser.rb
132
133
  - lib/relaton_bipm/document_relation.rb
@@ -137,6 +138,7 @@ files:
137
138
  - lib/relaton_bipm/rawdata_bipm_metrologia/article_parser.rb
138
139
  - lib/relaton_bipm/rawdata_bipm_metrologia/fetcher.rb
139
140
  - lib/relaton_bipm/structured_identifier.rb
141
+ - lib/relaton_bipm/util.rb
140
142
  - lib/relaton_bipm/version.rb
141
143
  - lib/relaton_bipm/workgroup.rb
142
144
  - lib/relaton_bipm/xml_parser.rb