relaton-un 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: 3c6791ae82b472328fb219a6b7fc1fba4ea6c5b8539120f8131079cf4d66fcee
4
- data.tar.gz: 78eccc13a3e597c377d7e82ad474b8c86345118dfd9119fdfb0ee9830e235cc6
3
+ metadata.gz: be81c113682d65c26375bc01785feb1081d04f0b127046c6e58faa24dfe7754b
4
+ data.tar.gz: 0b5e84ea07955fee78f7b8ac57c95551940b0cceb41103b2891c6fdf7129dc5d
5
5
  SHA512:
6
- metadata.gz: 2d53ebca1c9e6c802953b6598aec20f91ec15fe2c80f1af3ea09f1fae4b502b14713e7442491cdd5ca10c84cb5ac7307e6dbbe967b839527cf1ecbfd05afb34d
7
- data.tar.gz: 9761c548c89ec7a5426f1984e3c3e61003c9869f78c9441333a21070bea317c69f36b46bbbd99ffe791ae084580713f42f5d43797d0b92babff961356b51b9ba
6
+ metadata.gz: 75b2052a163ec18d01a2ed7747846d20346a066c69e4aa57d07be3fb4134b2ccbdf7fa483551ea4514fe95e50ad32615f66d1557a4e909da66157bc1c5f5cff0
7
+ data.tar.gz: 11ec5a1d7a1a4bb4759edbbee5005b9c187b06417507a652dfb61d89ae66cf18e32e095eb35425d23a05cfc9bb828196abb4c72c0aeee73dce279e31b964bc95
data/README.adoc CHANGED
@@ -23,13 +23,24 @@ Or install it yourself as:
23
23
 
24
24
  == Usage
25
25
 
26
- === Search for a standard using keywords
26
+ === Configuration
27
+
28
+ 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 `RelatonUn.configure` block.
27
29
 
28
30
  [source,ruby]
29
31
  ----
30
32
  require 'relaton_un'
31
33
  => true
32
34
 
35
+ RelatonUn.configure do |config|
36
+ config.logger.level = Logger::DEBUG
37
+ end
38
+ ----
39
+
40
+ === Search for a standard using keywords
41
+
42
+ [source,ruby]
43
+ ----
33
44
  hits = RelatonUn::UnBibliography.search("TRADE/CEFACT/2004/32")
34
45
  => <RelatonUn::HitCollection:0x007fc4e6ec2018 @ref=TRADE/CEFACT/2004/32 @fetched=false>
35
46
 
@@ -69,8 +80,8 @@ item.to_xml bibdata: true
69
80
  [source,ruby]
70
81
  ----
71
82
  RelatonUn::UnBibliography.get "UN TRADE/CEFACT/2004/32"
72
- [relaton-un] ("UN TRADE/CEFACT/2004/32") fetching...
73
- [relaton-un] ("UN TRADE/CEFACT/2004/32") found TRADE/CEFACT/2004/32
83
+ [relaton-un] (UN TRADE/CEFACT/2004/32) Fetching from documents.un.org ...
84
+ [relaton-un] (UN TRADE/CEFACT/2004/32) Found: `TRADE/CEFACT/2004/32`
74
85
  => #<RelatonUn::UnBibliographicItem:0x007fdc5f1c3a20
75
86
  ...
76
87
  ----
@@ -0,0 +1,10 @@
1
+ module RelatonUn
2
+ module Config
3
+ include RelatonBib::Config
4
+ end
5
+ extend Config
6
+
7
+ class Configuration < RelatonBib::Configuration
8
+ PROGNAME = "relaton-un".freeze
9
+ end
10
+ end
@@ -6,13 +6,13 @@ require "http-cookie"
6
6
  module RelatonUn
7
7
  # Page of hit collection.
8
8
  class HitCollection < RelatonBib::HitCollection
9
- AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) "\
10
- "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
9
+ AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 " \
10
+ "(KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
11
11
  DOMAIN = "https://documents.un.org"
12
12
  BOUNDARY = "----WebKitFormBoundaryVarT9Z7AFUzw2lma"
13
13
 
14
14
  # @param text [String] reference to search
15
- def initialize(text) # rubocop:disable Metrics/AbcSize
15
+ def initialize(text) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
16
16
  super
17
17
  @uri = URI.parse DOMAIN
18
18
  @jar = HTTP::CookieJar.new
@@ -24,7 +24,7 @@ module RelatonUn
24
24
  # @param job_number [String, nil]
25
25
  def initialize(**args)
26
26
  if args[:distribution] && !DISTRIBUTIONS.has_value?(args[:distribution])
27
- warn "[relaton-un] WARNING: invalid distribution: #{args[:distribution]}"
27
+ Util.warn "WARNING: Invalid distribution: `#{args[:distribution]}`"
28
28
  end
29
29
  @submissionlanguage = args.delete :submissionlanguage
30
30
  @distribution = args.delete :distribution
@@ -21,13 +21,15 @@ module RelatonUn
21
21
  # @param opts [Hash] options
22
22
  # @return [RelatonUn::UnBibliographicItem]
23
23
  def get(ref, _year = nil, _opts = {})
24
- warn "[relaton-un] (\"#{ref}\") fetching..."
24
+ Util.warn "(#{ref}) Fetching from documents.un.org ..."
25
25
  /^(?:UN\s)?(?<code>.*)/ =~ ref
26
26
  result = isobib_search_filter(code)
27
27
  if result
28
- warn "[relaton-un] (\"#{ref}\") "\
29
- "found #{result.fetch.docidentifier[0].id}"
28
+ Util.warn "(#{ref}) Found: `#{result.fetch.docidentifier[0].id}`"
30
29
  result.fetch
30
+ else
31
+ Util.warn "(#{ref}) Not found."
32
+ nil
31
33
  end
32
34
  end
33
35
 
@@ -0,0 +1,9 @@
1
+ module RelatonUn
2
+ module Util
3
+ extend RelatonBib::Util
4
+
5
+ def self.logger
6
+ RelatonUn.configuration.logger
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonUn
2
- VERSION = "1.16.0".freeze
2
+ VERSION = "1.16.2".freeze
3
3
  end
data/lib/relaton_un.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "addressable"
2
2
  require "relaton_bib"
3
3
  require "relaton_un/version"
4
+ require "relaton_un/config"
5
+ require "relaton_un/util"
4
6
  require "relaton_un/un_bibliographic_item"
5
7
  require "relaton_un/un_bibliography"
6
8
  require "relaton_un/hit_collection"
@@ -16,9 +18,9 @@ module RelatonUn
16
18
  # Returns hash of XML reammar
17
19
  # @return [String]
18
20
  def self.grammar_hash
19
- gem_path = File.expand_path "..", __dir__
20
- grammars_path = File.join gem_path, "grammars", "*"
21
- grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
22
- Digest::MD5.hexdigest grammars
21
+ # gem_path = File.expand_path "..", __dir__
22
+ # grammars_path = File.join gem_path, "grammars", "*"
23
+ # grammars = Dir[grammars_path].sort.map { |gp| File.read gp }.join
24
+ Digest::MD5.hexdigest RelatonUn::VERSION + RelatonBib::VERSION # grammars
23
25
  end
24
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-un
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-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -106,6 +106,7 @@ files:
106
106
  - grammars/relaton-un-compile.rng
107
107
  - grammars/relaton-un.rng
108
108
  - lib/relaton_un.rb
109
+ - lib/relaton_un/config.rb
109
110
  - lib/relaton_un/editorialgroup.rb
110
111
  - lib/relaton_un/hash_converter.rb
111
112
  - lib/relaton_un/hit.rb
@@ -114,6 +115,7 @@ files:
114
115
  - lib/relaton_un/session.rb
115
116
  - lib/relaton_un/un_bibliographic_item.rb
116
117
  - lib/relaton_un/un_bibliography.rb
118
+ - lib/relaton_un/util.rb
117
119
  - lib/relaton_un/version.rb
118
120
  - lib/relaton_un/xml_parser.rb
119
121
  - relaton_un.gemspec