relaton-iec 0.4.0 → 0.4.6

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
  SHA1:
3
- metadata.gz: 23eafbff8adc2eeb681a3294dcd33ee9bbba5e46
4
- data.tar.gz: 6073ba90262a12ab5c2584424754b5a657705084
3
+ metadata.gz: 382616c833c9a8c8b9bba8e4bc8402ad16964512
4
+ data.tar.gz: 5748210bf40ef66e0eeea6e3abd945e3298fcdaa
5
5
  SHA512:
6
- metadata.gz: 5f1fcb49417d2baa88219296f5c31db8333b3c360e477fa56217e190d1992506ec3b15a059ac9e5e47c3e922a2c6bfabda28f2b502458f2e1fade6cede058577
7
- data.tar.gz: 42fe6b9fac32553cedf6b7b5d8eef34f0f1c023cd99d63fd40fe72ca65d7ef3c1f588bb2bc2df2a11fb5cd3a86dd5d1880ac79f3322a5654ce39ae5d99434d36
6
+ metadata.gz: 5536938f0990091ab32a56ae344831210b4c26fe7469c1f5225644ee51c3458189a49f790758f728e170abbab5c18ec9219f3b1cf2ee6ae5335d89a537457ea6
7
+ data.tar.gz: c7ca012b59181f4d79912d55c3fa43037f82217a0a5ea447f4b8270f4b6321dc517978e852ae78d94cb6c05a9dcedfa01807e360b19b252c1e7e70328acbd54f
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.0)
4
+ relaton-iec (0.4.6)
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)
24
+ hashdiff (1.0.0)
25
25
  isoics (0.1.7)
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.0)
39
+ relaton-bib (0.3.8)
40
40
  addressable
41
- nokogiri (~> 1.10)
42
- relaton-iso-bib (0.3.0)
41
+ nokogiri
42
+ relaton-iso-bib (0.3.7)
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_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...
@@ -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
@@ -169,7 +169,8 @@ module RelatonIec
169
169
  # end
170
170
  Nokogiri::HTML(resp.body)
171
171
  rescue SocketError, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError,
172
- Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError
172
+ Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError,
173
+ OpenSSL::SSL::SSLError
173
174
  raise RelatonBib::RequestError, "Could not access #{url}"
174
175
  end
175
176
  # rubocop:enable Metrics/AbcSize
@@ -326,7 +327,11 @@ module RelatonIec
326
327
  intro, main, part = titles[0], titles[1], nil
327
328
  end
328
329
  when 3
329
- intro, main, part = titles[0], titles[1], titles[2]
330
+ if /^(Part|Partie) \d+:/ =~ titles[1]
331
+ intro, main, part = nil, titles[0], titles[1..2].join(" - ")
332
+ else
333
+ intro, main, part = titles[0], titles[1], titles[2]
334
+ end
330
335
  else
331
336
  intro, main, part = titles[0], titles[1], titles[2..-1]&.join(" -- ")
332
337
  end
@@ -371,7 +376,7 @@ module RelatonIec
371
376
  url = "www.iec.ch"
372
377
  end
373
378
  { entity: { name: name, url: url, abbreviation: abbrev },
374
- role: ["publisher"] }
379
+ role: [type: "publisher"] }
375
380
  end
376
381
  end
377
382
 
@@ -1,3 +1,3 @@
1
1
  module RelatonIec
2
- VERSION = "0.4.0".freeze
2
+ VERSION = "0.4.6".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.0
4
+ version: 0.4.6
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-07-24 00:00:00.000000000 Z
11
+ date: 2019-09-27 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
@@ -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