relaton-iec 0.4.2 → 0.4.9

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
- SHA1:
3
- metadata.gz: 5deb1a1e31dd689114d4074a5d89c1d3fa7a4cf4
4
- data.tar.gz: f75fc9dbfa05dbadb932dd31f3f109aa75e22dd5
2
+ SHA256:
3
+ metadata.gz: a09fc2455f5b817776122af2bb34bec70fb51a044db47df5a9461931363ece1d
4
+ data.tar.gz: 2d0f09f8a0558a4b2f7d1b693c3ad50df482ec66673cefc78e47da27c86f2735
5
5
  SHA512:
6
- metadata.gz: d29d36436c3c28448abc371c29fb298eeddf51cd831877dcad2ad3b91669b36ac6dba55d584307fd5402cef388d28e7db055729567cfc6fda5fc8223b733fddc
7
- data.tar.gz: '09f2ee50b82e7c3ee7ba598442b541a74d86817184998e8063ae875fe1a05e3650475a8adae30203906a627719b3762032655209c836d7f084df3d5f5b9a19ca'
6
+ metadata.gz: 9999ce1a869e0680a2cfa26fa767ba376e716cb3dfb42d6af69bf7f9535d1e940571f97ee3d0ab9c2fb19869aa310973e745211c8686a2706ec10a30c8088cef
7
+ data.tar.gz: 3747b139a67b508a618e4b15c2ce63908f31650cfb2696ea2a80c5fa10f3f611ce37e4ae344fc5c1399c1bf4e6cfbb7f044a2e64e17dc3ca1f5c9f1fb8543eb8
data/Gemfile CHANGED
@@ -1,3 +1,6 @@
1
+ Encoding.default_external = Encoding::UTF_8
2
+ Encoding.default_internal = Encoding::UTF_8
3
+
1
4
  source "https://rubygems.org"
2
5
 
3
6
  git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
@@ -1,32 +1,32 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- relaton-iec (0.4.2)
4
+ relaton-iec (0.4.9)
5
5
  addressable
6
6
  relaton-iso-bib (~> 0.3.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- addressable (2.6.0)
12
- public_suffix (>= 2.0.2, < 4.0)
11
+ addressable (2.7.0)
12
+ public_suffix (>= 2.0.2, < 5.0)
13
13
  byebug (11.0.1)
14
14
  coderay (1.1.2)
15
15
  crack (0.4.3)
16
16
  safe_yaml (~> 1.0.0)
17
- debase (0.2.2)
17
+ debase (0.2.4.1)
18
18
  debase-ruby_core_source (>= 0.10.2)
19
19
  debase-ruby_core_source (0.10.5)
20
20
  diff-lcs (1.3)
21
21
  docile (1.3.2)
22
22
  equivalent-xml (0.6.0)
23
23
  nokogiri (>= 1.4.3)
24
- hashdiff (0.4.0)
25
- isoics (0.1.7)
24
+ hashdiff (1.0.0)
25
+ isoics (0.1.8)
26
26
  json (2.2.0)
27
27
  method_source (0.9.2)
28
28
  mini_portile2 (2.4.0)
29
- nokogiri (1.10.3)
29
+ nokogiri (1.10.4)
30
30
  mini_portile2 (~> 2.4.0)
31
31
  pry (0.12.2)
32
32
  coderay (~> 1.1.0)
@@ -34,12 +34,12 @@ GEM
34
34
  pry-byebug (3.7.0)
35
35
  byebug (~> 11.0)
36
36
  pry (~> 0.10)
37
- public_suffix (3.1.1)
37
+ public_suffix (4.0.1)
38
38
  rake (10.5.0)
39
- relaton-bib (0.3.2)
39
+ relaton-bib (0.3.11)
40
40
  addressable
41
- nokogiri (~> 1.10)
42
- relaton-iso-bib (0.3.2)
41
+ nokogiri
42
+ relaton-iso-bib (0.3.11)
43
43
  isoics (~> 0.1.6)
44
44
  relaton-bib (~> 0.3.0)
45
45
  ruby_deep_clone (~> 0.8.0)
@@ -47,7 +47,7 @@ GEM
47
47
  rspec-core (~> 3.8.0)
48
48
  rspec-expectations (~> 3.8.0)
49
49
  rspec-mocks (~> 3.8.0)
50
- rspec-core (3.8.1)
50
+ rspec-core (3.8.2)
51
51
  rspec-support (~> 3.8.0)
52
52
  rspec-expectations (3.8.4)
53
53
  diff-lcs (>= 1.2.0, < 2.0)
@@ -60,13 +60,13 @@ GEM
60
60
  rake (>= 0.8.1)
61
61
  ruby_deep_clone (0.8.0)
62
62
  safe_yaml (1.0.5)
63
- simplecov (0.16.1)
63
+ simplecov (0.17.0)
64
64
  docile (~> 1.1)
65
65
  json (>= 1.8, < 3)
66
66
  simplecov-html (~> 0.10.0)
67
67
  simplecov-html (0.10.2)
68
68
  vcr (5.0.0)
69
- webmock (3.6.0)
69
+ webmock (3.7.2)
70
70
  addressable (>= 2.3.6)
71
71
  crack (>= 0.3.2)
72
72
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -1,9 +1,13 @@
1
1
  require "relaton_iec/version"
2
2
  require "relaton_iec/iec_bibliography"
3
- if defined? Relaton
4
- require_relative "relaton/processor"
5
- Relaton::Registry.instance.register(Relaton::RelatonIec::Processor)
6
- end
3
+
4
+ # if defined? Relaton
5
+ # require "relaton_iec/processor"
6
+ # # don't register the gem if it's required form relaton's registry
7
+ # return if caller.detect { |c| c.include? "register_gems" }
8
+
9
+ # Relaton::Registry.instance.register(RelatonIec::Processor)
10
+ # end
7
11
 
8
12
  module RelatonIec
9
13
  # Your code goes here...
@@ -13,7 +13,7 @@ module RelatonIec
13
13
  # @return [RelatonIec::HitCollection]
14
14
  def search(text, year = nil)
15
15
  HitCollection.new text, year
16
- rescue SocketError, OpenURI::HTTPError
16
+ rescue SocketError, OpenURI::HTTPError, OpenSSL::SSL::SSLError
17
17
  raise RelatonBib::RequestError, "Could not access http://www.iec.ch"
18
18
  end
19
19
 
@@ -0,0 +1,33 @@
1
+ require "relaton/processor"
2
+
3
+ module RelatonIec
4
+ class Processor < Relaton::Processor
5
+ def initialize
6
+ @short = :relaton_iec
7
+ @prefix = "IEC"
8
+ @defaultprefix = %r{^(IEC)[ /]|^IEV($| )}
9
+ @idtype = "IEC"
10
+ end
11
+
12
+ # @param code [String]
13
+ # @param date [String, NilClass] year
14
+ # @param opts [Hash]
15
+ # @return [RelatonIsoBib::IsoBibliographicItem]
16
+ def get(code, date, opts)
17
+ ::RelatonIec::IecBibliography.get(code, date, opts)
18
+ end
19
+
20
+ # @param xml [String]
21
+ # @return [RelatonIsoBib::IsoBibliographicItem]
22
+ def from_xml(xml)
23
+ RelatonIsoBib::XMLParser.from_xml xml
24
+ end
25
+
26
+ # @param hash [Hash]
27
+ # @return [RelatonIsoBib::IsoBibliographicItem]
28
+ def hash_to_bib(hash)
29
+ item_hash = ::RelatonIsoBib::HashConverter.hash_to_bib(hash)
30
+ ::RelatonIsoBib::IsoBibliographicItem.new item_hash
31
+ end
32
+ end
33
+ end
@@ -57,13 +57,14 @@ module RelatonIec
57
57
  status, relations = fetch_status_relations hit_data[:url]
58
58
 
59
59
  RelatonIsoBib::IsoBibliographicItem.new(
60
+ fetched: Date.today.to_s,
60
61
  docid: [RelatonBib::DocumentIdentifier.new(id: hit_data[:code], type: "IEC")],
61
62
  structuredidentifier: fetch_structuredidentifier(doc),
62
63
  edition: edition,
63
64
  language: ["en"],
64
65
  script: ["Latn"],
65
66
  title: fetch_titles(hit_data),
66
- type: fetch_type(doc),
67
+ doctype: fetch_type(doc),
67
68
  docstatus: status,
68
69
  ics: fetch_ics(doc),
69
70
  date: fetch_dates(doc),
@@ -169,7 +170,8 @@ module RelatonIec
169
170
  # end
170
171
  Nokogiri::HTML(resp.body)
171
172
  rescue SocketError, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
172
- Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError
173
+ Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError,
174
+ OpenSSL::SSL::SSLError
173
175
  raise RelatonBib::RequestError, "Could not access #{url}"
174
176
  end
175
177
  # rubocop:enable Metrics/AbcSize
@@ -292,8 +294,8 @@ module RelatonIec
292
294
  # @param doc [Nokogiri::HTML::Document]
293
295
  # @return [String]
294
296
  def fetch_type(doc)
295
- doc.at('//th[contains(., "Publication type")]/following-sibling::td/span')
296
- .text.downcase.tr " ", "-"
297
+ doc.at('//th[contains(., "Publication type")]/following-sibling::td/span').
298
+ text.downcase.tr " ", "-"
297
299
  # type_match = title.match(%r{^(ISO|IWA|IEC)(?:(/IEC|/IEEE|/PRF|
298
300
  # /NP)*\s|/)(TS|TR|PAS|AWI|CD|FDIS|NP|DIS|WD|R|Guide|(?=\d+))}x)
299
301
  # #return "international-standard" if type_match.nil?
@@ -1,3 +1,3 @@
1
1
  module RelatonIec
2
- VERSION = "0.4.2".freeze
2
+ VERSION = "0.4.9".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-02 00:00:00.000000000 Z
11
+ date: 2019-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -198,11 +198,11 @@ files:
198
198
  - appveyor.yml
199
199
  - bin/console
200
200
  - bin/setup
201
- - lib/relaton/processor.rb
202
201
  - lib/relaton_iec.rb
203
202
  - lib/relaton_iec/hit.rb
204
203
  - lib/relaton_iec/hit_collection.rb
205
204
  - lib/relaton_iec/iec_bibliography.rb
205
+ - lib/relaton_iec/processor.rb
206
206
  - lib/relaton_iec/scrapper.rb
207
207
  - lib/relaton_iec/statuses.yml
208
208
  - lib/relaton_iec/version.rb
@@ -226,8 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  - !ruby/object:Gem::Version
227
227
  version: '0'
228
228
  requirements: []
229
- rubyforge_project:
230
- rubygems_version: 2.6.12
229
+ rubygems_version: 3.0.6
231
230
  signing_key:
232
231
  specification_version: 4
233
232
  summary: 'RelatonIec: retrieve IEC Standards for bibliographic use using the IsoBibliographicItem
@@ -1,23 +0,0 @@
1
- require "relaton/processor"
2
-
3
- module Relaton
4
- module RelatonIec
5
- class Processor < Relaton::Processor
6
-
7
- def initialize
8
- @short = :relaton_iec
9
- @prefix = "IEC"
10
- @defaultprefix = %r{^(IEC)[ /]|^IEV($| )}
11
- @idtype = "IEC"
12
- end
13
-
14
- def get(code, date, opts)
15
- ::RelatonIec::IecBibliography.get(code, date, opts)
16
- end
17
-
18
- def from_xml(xml)
19
- RelatonIsoBib::XMLParser.from_xml xml
20
- end
21
- end
22
- end
23
- end