relaton-bib 1.14.11 → 1.14.13

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: d799e6b7be315a63d122e6a89f1f60dbc1aef9d21f9b3a267ad1e2de408d92df
4
- data.tar.gz: c7cac7e1155483ee1006e95fff21a0940447217c67872b33dd217e401e2be3ac
3
+ metadata.gz: 0f574568c08eb0713aa11425b6b7316a1043ab4daf9511ce81264273621a3c6f
4
+ data.tar.gz: f159c471012a555f70f7b2b6150b6d605c4a9324f196dda26ea6de39e4b9ade8
5
5
  SHA512:
6
- metadata.gz: d1331ea995b1c2dd1625f39e0a01640bd44f7638e0233078b01f915609191d3df6864520e34d19de75d6dafeea78102e48d03a14d7943b20f15eb69a28cd98b2
7
- data.tar.gz: 2c3d2bae17e7af02f28cafedcf323ffcd79bc9cef7686873bc0a4611f456bee7e6d866635005bfc3626f9206ce713ba0580f0205663338894f2efe083aff924c
6
+ metadata.gz: a204325520089f88f066af03d3b16774b152fc5f8ff12c6c62b383d69d71090559adc215d67d9c90bcee6f319ff206b19904b1146096c5e481aa5aadb74fc926
7
+ data.tar.gz: 8c5e6d412172fb928a68e4712732163d6644131f80195716e7a69c4c7095bf95910fcab952069bbd99c2e1439508360708d1973c5876ebcddfdf4ae81a7787d7
data/.gitignore CHANGED
@@ -7,6 +7,7 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  .vscode/
10
+ /vendor/
10
11
 
11
12
  # rspec failure tracking
12
13
  .rspec_status
data/Gemfile CHANGED
@@ -2,3 +2,13 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in relaton-bib.gemspec
4
4
  gemspec
5
+
6
+ gem "byebug"
7
+ gem "equivalent-xml", "~> 0.6"
8
+ gem "rake", "~> 13.0"
9
+ gem "rspec", "~> 3.0"
10
+ gem "rubocop"
11
+ gem "rubocop-performance"
12
+ gem "rubocop-rails"
13
+ gem "ruby-jing"
14
+ gem "simplecov"
data/README.adoc CHANGED
@@ -27,13 +27,24 @@ Or install it yourself as:
27
27
 
28
28
  == Usage
29
29
 
30
- === Create bibliographic item
30
+ === Configuration
31
+
32
+ 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 `RelatonBib.configure` block.
31
33
 
32
34
  [source,ruby]
33
35
  ----
34
36
  require 'relaton_bib'
35
37
  => true
36
38
 
39
+ RelatonBib.configure do |config|
40
+ config.logger.level = Logger::DEBUG
41
+ end
42
+ ----
43
+
44
+ === Create bibliographic item
45
+
46
+ [source,ruby]
47
+ ----
37
48
  hash = YAML.load_file "spec/examples/bib_item.yml"
38
49
  => {"id"=>"ISOTC211",
39
50
  "fetched"=>"2022-05-02",
@@ -13,7 +13,7 @@
13
13
  "relaton-model-3gpp": "v1.0.1",
14
14
  "relaton-model-csa": "v1.0.0",
15
15
  "relaton-model-cc": "v1.0.0",
16
- "relaton-model-ietf": "v1.0.0",
16
+ "relaton-model-ietf": "v1.0.1",
17
17
  "relaton-model-iho": "v1.0.0",
18
18
  "relaton-model-itu": "v1.0.0",
19
19
  "relaton-model-m3aawg": "v1.0.0",
@@ -26,7 +26,8 @@
26
26
  "relaton-model-cie": "v1.0.0",
27
27
  "relaton-model-iana": "v1.0.0",
28
28
  "relaton-model-omg": "v1.0.0",
29
- "relaton-model-oasis": "v1.0.0",
29
+ "relaton-model-oasis": "v1.0.1",
30
30
  "relaton-model-jis": "v0.0.1",
31
- "date": "2023-03-28T19:11:37Z"
31
+ "metanorma-model": "v1.2.2",
32
+ "date": "2023-08-02T19:17:03Z"
32
33
  }
@@ -18,7 +18,7 @@ module RelatonBib
18
18
  whole|table|annex|figure|note|list|example|volume|issue|time|anchor|
19
19
  locality:[a-zA-Z0-9_]+}x
20
20
  unless type&.match? type_ptrn
21
- warn "[relaton-bib] WARNING: invalid locality type: #{type}"
21
+ Util.warn "WARNING: invalid locality type: #{type}"
22
22
  end
23
23
 
24
24
  @type = type
@@ -204,7 +204,7 @@ module RelatonBib
204
204
  # @option link [String] :content
205
205
  def initialize(**args)
206
206
  if args[:type] && !TYPES.include?(args[:type])
207
- warn %{[relaton-bib] WARNING: type "#{args[:type]}" is invalid.}
207
+ Util.warn %{WARNING: type "#{args[:type]}" is invalid.}
208
208
  end
209
209
 
210
210
  @title = if args[:title].is_a?(TypedTitleStringCollection)
@@ -465,7 +465,7 @@ module RelatonBib
465
465
  end
466
466
 
467
467
  # @param type [Symbol] type of url, can be :src/:obp/:rss
468
- # @return [String]
468
+ # @return [String, nil]
469
469
  def url(type = :src)
470
470
  @link.detect { |s| s.type == type.to_s }&.content&.to_s
471
471
  end
@@ -0,0 +1,28 @@
1
+ module RelatonBib
2
+ module Config
3
+ def configure
4
+ yield configuration if block_given?
5
+ end
6
+
7
+ def configuration
8
+ @configuration ||= self::Configuration.new
9
+ end
10
+ end
11
+
12
+ class Configuration
13
+ PROGNAME = "relaton-bib".freeze
14
+
15
+ attr_accessor :logger
16
+
17
+ def initialize
18
+ @logger = ::Logger.new $stderr
19
+ @logger.level = ::Logger::WARN
20
+ @logger.progname = self.class::PROGNAME
21
+ @logger.formatter = proc do |_severity, _datetime, progname, msg|
22
+ "[#{progname}] #{msg}\n"
23
+ end
24
+ end
25
+ end
26
+
27
+ extend Config
28
+ end
@@ -22,7 +22,7 @@ module RelatonBib
22
22
  # @param description [Array<String>]
23
23
  def initialize(**args)
24
24
  if args[:type] && !TYPES.include?(args[:type])
25
- warn %{[relaton-bib] Contributor's type "#{args[:type]}" is invalid.}
25
+ Util.warn %{Contributor's type "#{args[:type]}" is invalid.}
26
26
  end
27
27
 
28
28
  @type = args[:type]
@@ -46,7 +46,7 @@ module RelatonBib
46
46
  source_locality: [])
47
47
  type = "obsoletes" if type == "Now withdrawn"
48
48
  unless self.class::TYPES.include? type
49
- warn "[relaton-bib] WARNING: invalid relation type: #{type}"
49
+ Util.warn "WARNING: invalid relation type: #{type}"
50
50
  end
51
51
  @type = type
52
52
  @description = description
@@ -350,7 +350,7 @@ module RelatonBib
350
350
  if rel[:bibitem]
351
351
  rel[:bibitem] = bib_item hash_to_bib(rel[:bibitem])
352
352
  else
353
- warn "[relaton-bib] bibitem missing: #{rel}"
353
+ Util.warn "bibitem missing: #{rel}"
354
354
  rel[:bibitem] = nil
355
355
  end
356
356
  end
@@ -5,7 +5,7 @@ module RelatonBib
5
5
  extend Forwardable
6
6
 
7
7
  def_delegators :@array, :<<, :[], :first, :empty?, :any?, :size, :each,
8
- :each_slice, :reduce
8
+ :each_slice, :reduce, :map
9
9
 
10
10
  # @return [TrueClass, FalseClass]
11
11
  attr_reader :fetched
@@ -0,0 +1,17 @@
1
+ module RelatonBib
2
+ module Util
3
+ extend self
4
+
5
+ def method_missing(...)
6
+ logger.send(...)
7
+ end
8
+
9
+ def respond_to_missing?(method_name, include_private = false)
10
+ logger.respond_to?(method_name) || super
11
+ end
12
+
13
+ def logger
14
+ RelatonBib.configuration.logger
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module RelatonBib
2
- VERSION = "1.14.11".freeze
2
+ VERSION = "1.14.13".freeze
3
3
  end
@@ -17,8 +17,9 @@ module RelatonBib
17
17
  if bibitem
18
18
  bib_item item_data(bibitem)
19
19
  else
20
- warn "[relaton-bib] WARNING: can't find bibitem or bibdata element " \
21
- "in the XML"
20
+ Util.warn "WARNING: can't find bibitem or bibdata element " \
21
+ "in the XML"
22
+ nil
22
23
  end
23
24
  end
24
25
 
data/lib/relaton_bib.rb CHANGED
@@ -3,6 +3,8 @@ require "yaml"
3
3
  require "htmlentities"
4
4
  require "relaton_bib/version"
5
5
  require "relaton_bib/deep_dup"
6
+ require "relaton_bib/config"
7
+ require "relaton_bib/util"
6
8
  require "relaton_bib/localized_string"
7
9
  require "relaton_bib/forename"
8
10
  require "relaton_bib/full_name"
data/relaton-bib.gemspec CHANGED
@@ -23,16 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
25
25
 
26
- spec.add_development_dependency "byebug"
27
- spec.add_development_dependency "equivalent-xml", "~> 0.6"
28
- spec.add_development_dependency "rake", "~> 13.0"
29
- spec.add_development_dependency "rspec", "~> 3.0"
30
- spec.add_development_dependency "rubocop"
31
- spec.add_development_dependency "rubocop-performance"
32
- spec.add_development_dependency "rubocop-rails"
33
- spec.add_development_dependency "ruby-jing"
34
- spec.add_development_dependency "simplecov"
35
-
36
26
  spec.add_dependency "addressable"
37
27
  spec.add_dependency "bibtex-ruby"
38
28
  spec.add_dependency "htmlentities"
metadata CHANGED
@@ -1,141 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-bib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.11
4
+ version: 1.14.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-28 00:00:00.000000000 Z
11
+ date: 2023-08-05 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: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '13.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '13.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '3.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop
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: rubocop-performance
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: rubocop-rails
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
- - !ruby/object:Gem::Dependency
112
- name: ruby-jing
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: simplecov
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
13
  - !ruby/object:Gem::Dependency
140
14
  name: addressable
141
15
  requirement: !ruby/object:Gem::Requirement
@@ -244,6 +118,7 @@ files:
244
118
  - lib/relaton_bib/bibtex_parser.rb
245
119
  - lib/relaton_bib/bibxml_parser.rb
246
120
  - lib/relaton_bib/classification.rb
121
+ - lib/relaton_bib/config.rb
247
122
  - lib/relaton_bib/contribution_info.rb
248
123
  - lib/relaton_bib/contributor.rb
249
124
  - lib/relaton_bib/copyright_association.rb
@@ -274,6 +149,7 @@ files:
274
149
  - lib/relaton_bib/technical_committee.rb
275
150
  - lib/relaton_bib/typed_title_string.rb
276
151
  - lib/relaton_bib/typed_uri.rb
152
+ - lib/relaton_bib/util.rb
277
153
  - lib/relaton_bib/validity.rb
278
154
  - lib/relaton_bib/version.rb
279
155
  - lib/relaton_bib/workers_pool.rb
@@ -284,7 +160,7 @@ homepage: https://github.com/relaton/relaton-bib
284
160
  licenses:
285
161
  - BSD-2-Clause
286
162
  metadata: {}
287
- post_install_message:
163
+ post_install_message:
288
164
  rdoc_options: []
289
165
  require_paths:
290
166
  - lib
@@ -299,8 +175,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
299
175
  - !ruby/object:Gem::Version
300
176
  version: '0'
301
177
  requirements: []
302
- rubygems_version: 3.4.9
303
- signing_key:
178
+ rubygems_version: 3.3.26
179
+ signing_key:
304
180
  specification_version: 4
305
181
  summary: 'RelatonBib: Ruby XMLDOC impementation.'
306
182
  test_files: []