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}" }
data/Gemfile.lock CHANGED
@@ -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)
data/lib/relaton/processor.rb DELETED
@@ -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
data/lib/relaton_iec.rb CHANGED
@@ -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...
data/lib/relaton_iec/iec_bibliography.rb CHANGED
@@ -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
data/lib/relaton_iec/processor.rb ADDED
@@ -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
data/lib/relaton_iec/scrapper.rb CHANGED
@@ -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?
data/lib/relaton_iec/version.rb CHANGED
@@ -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:
229
+ rubygems_version: 3.0.6
230
- rubygems_version: 2.6.12
231
230
signing_key:
232
231
specification_version: 4
233
232
summary: 'RelatonIec: retrieve IEC Standards for bibliographic use using the IsoBibliographicItem