relaton-jis 1.18.1 → 1.19.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: 384ce3921d788a33ca6cf5eb01274172735874b1fe2f4d1e407bc2e8cec44487
4
- data.tar.gz: b5875b375b58b93f553c1dc1bec23e01676fe47f9f8b716cead9f120d92b73c0
3
+ metadata.gz: c223759d15403f399f92edd2272b156b0e3c7f6c7dc274babb6b24cf02f99326
4
+ data.tar.gz: 387192eb0a06f3f0cca389decf2e0aa9d13193aed0f52d0e8949c7089ce77b99
5
5
  SHA512:
6
- metadata.gz: e4a3dcede68fc4394eae1ca1a24f01a9d9daa5ac249bfac4c1e696451bd8dcc2fa77f5df0eac667320cdbe82da2a079aff4d3df824eb38ffcf1b6a727bfc6097
7
- data.tar.gz: cb0dfb2614ec3234ca68cb1d0afe290c181088e56173d3db8578bd2d3e22852cbd77d1a80b495874c897ca74a9d1ee9615d85569074e906c0c4a60e3958a0136
6
+ metadata.gz: a1ceb478a730fba7ce00809420161cc996b1ade2e3d590fab98c75668ee1450df0be2daebf1f5e3cedd8fe099121bd5e2ed01d73b56b5b755afee12e2a009302
7
+ data.tar.gz: 1c7fe1151443babf282595293d6c41f5945fe75d56481f06edd60a5c00f61b15f9ff65a428de6827494f08df3a64f5eb620a6fdb2f1832f826d4de346dee28f7
data/README.adoc CHANGED
@@ -22,24 +22,13 @@ If bundler is not being used to manage dependencies, install the gem by executin
22
22
 
23
23
  == Usage
24
24
 
25
- === Configuration
26
-
27
- 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 `RelatonJis.configure` block.
25
+ === Search for standards using keywords
28
26
 
29
27
  [source,ruby]
30
28
  ----
31
29
  require 'relaton_jis'
32
30
  => true
33
31
 
34
- RelatonJis.configure do |config|
35
- config.logger.level = Logger::DEBUG
36
- end
37
- ----
38
-
39
- === Search for standards using keywords
40
-
41
- [source,ruby]
42
- ----
43
32
  hit_collection = RelatonJis::Bibliography.search("JIS X 0208")
44
33
  => <RelatonJis::HitCollection:0x00000000018858 @ref=JIS X 0208 @fetched=false>
45
34
 
@@ -112,7 +101,7 @@ Possible options:
112
101
  [source,ruby]
113
102
  ----
114
103
  item.to_xml
115
- => "<bibitem id="JISX0208-1997" type="standard" schema-version="v1.2.8">
104
+ => "<bibitem id="JISX0208-1997" type="standard" schema-version="v1.2.9">
116
105
  <fetched>2023-03-18</fetched>
117
106
  <title format="text/plain" language="ja" script="Jpan">7ビット及び8ビットの2バイト情報交換用符号化漢字集合</title>
118
107
  <title format="text/plain" language="en" script="Lant">7-bit and 8-bit double byte coded KANJI sets for information interchange</title>
@@ -120,7 +109,7 @@ item.to_xml
120
109
  </bibitem>"
121
110
 
122
111
  item.to_xml bibdata: true
123
- => "<bibdata type="standard" schema-version="v1.2.8">
112
+ => "<bibdata type="standard" schema-version="v1.2.9">
124
113
  <fetched>2023-03-18</fetched>
125
114
  <title format="text/plain" language="ja" script="Jpan">7ビット及び8ビットの2バイト情報交換用符号化漢字集合</title>
126
115
  <title format="text/plain" language="en" script="Lant">7-bit and 8-bit double byte coded KANJI sets for information interchange</title>
@@ -160,6 +149,10 @@ item.link
160
149
  @type="pdf">]
161
150
  ----
162
151
 
152
+ === Logging
153
+
154
+ RelatonJis uses the relaton-logger gem for logging. By default, it logs to STDOUT. To change the log levels and add other loggers, read the https://github.com/relaton/relaton-logger#usage[relaton-logger] documentation.
155
+
163
156
  == Development
164
157
 
165
158
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -244,6 +244,9 @@
244
244
  <data type="ID"/>
245
245
  </attribute>
246
246
  <attribute name="reviewer"/>
247
+ <optional>
248
+ <attribute name="type"/>
249
+ </optional>
247
250
  <optional>
248
251
  <attribute name="date">
249
252
  <data type="dateTime"/>
@@ -36,7 +36,7 @@ module RelatonJis
36
36
  def get(ref, year = nil, opts = {}) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
37
37
  code = ref.sub(/\s\((all parts|規格群)\)/, "")
38
38
  opts[:all_parts] ||= !$1.nil?
39
- Util.warn "(#{ref}) Fetching from webdesk.jsa.or.jp ..."
39
+ Util.info "Fetching from webdesk.jsa.or.jp ...", key: ref
40
40
  hits = search(code, year)
41
41
  unless hits
42
42
  hint [], ref, year
@@ -44,7 +44,7 @@ module RelatonJis
44
44
  end
45
45
  result = opts[:all_parts] ? hits.find_all_parts : hits.find
46
46
  if result.is_a? RelatonJis::BibliographicItem
47
- Util.warn "(#{ref}) Found: `#{result.docidentifier[0].id}`"
47
+ Util.info "Found: `#{result.docidentifier[0].id}`", key: ref
48
48
  return result
49
49
  end
50
50
  hint result, ref, year
@@ -58,10 +58,10 @@ module RelatonJis
58
58
  # @param [String, nil] year year to search
59
59
  #
60
60
  def hint(result, ref, year)
61
- Util.warn "(#{ref}) Not found."
61
+ Util.info "Not found.", key: ref
62
62
  if result.any?
63
- Util.warn "(#{ref}) TIP: No match for edition year `#{year}`, " \
64
- "but matches exist for `#{result.uniq.join('`, `')}`."
63
+ Util.info "TIP: No match for edition year `#{year}`, but " \
64
+ "matches exist for `#{result.uniq.join('`, `')}`.", key: ref
65
65
  end
66
66
  nil
67
67
  end
@@ -9,7 +9,7 @@ module RelatonJis
9
9
 
10
10
  def check_type(type)
11
11
  unless DOCTYPES.include? type
12
- Util.warn "WARNING: invalid doctype: `#{type}`"
12
+ Util.warn "invalid doctype: `#{type}`"
13
13
  end
14
14
  end
15
15
  end
@@ -120,13 +120,25 @@ module RelatonJis
120
120
  end
121
121
 
122
122
  def fetch_contributor
123
- @doc.xpath("./table/tr[th[.='原案作成団体']]/td").map do |node|
124
- name = RelatonBib::LocalizedString.new node.text.strip, "ja", "Jpan"
125
- org = RelatonBib::Organization.new name: name
126
- RelatonBib::ContributionInfo.new entity: org, role: [type: "author"]
123
+ @doc.xpath("./table/tr[th[.='原案作成団体']]/td").reduce([]) do |a, node|
124
+ a << create_contrib(node, "author")
125
+ a << create_contrib(node, "publisher")
127
126
  end
128
127
  end
129
128
 
129
+ def create_contrib(node, role)
130
+ org = RelatonBib::Organization.new name: create_orgname(node)
131
+ RelatonBib::ContributionInfo.new entity: org, role: [type: role]
132
+ end
133
+
134
+ def create_orgname(node)
135
+ name = [RelatonBib::LocalizedString.new(node.text.strip, "ja", "Jpan")]
136
+ if node.text.include?("日本規格協会")
137
+ name << RelatonBib::LocalizedString.new("Japanese Industrial Standards", "en", "Latn")
138
+ end
139
+ name
140
+ end
141
+
130
142
  def fetch_editorialgroup
131
143
  node = @doc.at("./table/tr[th[.='原案作成団体']]/td")
132
144
  return unless node
@@ -1,9 +1,6 @@
1
1
  module RelatonJis
2
2
  module Util
3
3
  extend RelatonBib::Util
4
-
5
- def self.logger
6
- RelatonJis.configuration.logger
7
- end
4
+ PROGNAME = "relaton-jis".freeze
8
5
  end
9
6
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RelatonJis
4
- VERSION = "1.18.1"
4
+ VERSION = "1.19.1"
5
5
  end
data/lib/relaton_jis.rb CHANGED
@@ -3,7 +3,6 @@
3
3
  require "mechanize"
4
4
  require "relaton_iso_bib"
5
5
  require_relative "relaton_jis/version"
6
- require_relative "relaton_jis/config"
7
6
  require_relative "relaton_jis/util"
8
7
  require_relative "relaton_jis/document_type"
9
8
  require_relative "relaton_jis/bibliographic_item"
data/relaton_jis.gemspec CHANGED
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  # Uncomment to register a new dependency of your gem
37
37
  spec.add_dependency "mechanize", "~> 2.10"
38
- spec.add_dependency "relaton-iso-bib", "~> 1.18.0"
38
+ spec.add_dependency "relaton-iso-bib", "~> 1.19.0"
39
39
 
40
40
  # For more information and examples about making a new gem, check out our
41
41
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-jis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.1
4
+ version: 1.19.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: 2024-06-19 00:00:00.000000000 Z
11
+ date: 2024-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.18.0
33
+ version: 1.19.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.18.0
40
+ version: 1.19.0
41
41
  description: 'RelatonJis: retrieve IETF Standards for bibliographic use using the
42
42
  BibliographicItem model'
43
43
  email:
@@ -60,7 +60,6 @@ files:
60
60
  - lib/relaton_jis.rb
61
61
  - lib/relaton_jis/bibliographic_item.rb
62
62
  - lib/relaton_jis/bibliography.rb
63
- - lib/relaton_jis/config.rb
64
63
  - lib/relaton_jis/document_type.rb
65
64
  - lib/relaton_jis/hash_converter.rb
66
65
  - lib/relaton_jis/hit.rb
@@ -1,10 +0,0 @@
1
- module RelatonJis
2
- module Config
3
- include RelatonBib::Config
4
- end
5
- extend Config
6
-
7
- class Configuration < RelatonBib::Configuration
8
- PROGNAME = "relaton-jis".freeze
9
- end
10
- end