relaton-iec 0.3.2 → 0.4.4

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: 39823bb2ce85889ef0f32b013d8cd9abf9f5a2e2
4
- data.tar.gz: 1e960de033ac1d430b9260742a6ab779e3f2f2e3
3
+ metadata.gz: 7b0ad75aacbf0360cdcacc6e744dd6c26e6df9f0
4
+ data.tar.gz: 847e68d1a06123dfa521d7779f5608aa0702c4fa
5
5
  SHA512:
6
- metadata.gz: dc8c6e5c58767bbbd56c82b092d888e132a412f5f4230bc1f5ffedc43d3b15015d4e55556dcaebeaed1f5075b75e3cb9aa583774480de4aa3f4e7903a5d4809a
7
- data.tar.gz: 461357b85402b3cc8b921aa3ace9accd91f6a7936896c146267695c8b1e6cb7ffb2860c622d12c4b0cb357c19c263b79f99d9c554a556c08bf706b74399b5693
6
+ metadata.gz: bf0ceb4def8efe09e404c2b540700fb60709d52e184796742b6f5d7bd1e29dff3d6656201b631ecd1e50c27e6f96ec3749518eb2a82c7037c78f79102f334730
7
+ data.tar.gz: 4541bd9010a9ab99eb2a6903c03e5e07bbbc46710432bfc14d461196e8e52f81145c497294416e8b0605d66babfc6f20365d037d38a39169acb1f5d6ada7c32e
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- relaton-iec (0.3.2)
4
+ relaton-iec (0.4.4)
5
5
  addressable
6
- relaton-iso-bib (~> 0.2.0)
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)
@@ -26,7 +26,7 @@ GEM
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,14 +34,14 @@ 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.2.5)
39
+ relaton-bib (0.3.6)
40
40
  addressable
41
- nokogiri (~> 1.10)
42
- relaton-iso-bib (0.2.4)
41
+ nokogiri
42
+ relaton-iso-bib (0.3.5)
43
43
  isoics (~> 0.1.6)
44
- relaton-bib (~> 0.2.0)
44
+ relaton-bib (~> 0.3.0)
45
45
  ruby_deep_clone (~> 0.8.0)
46
46
  rspec (3.8.0)
47
47
  rspec-core (~> 3.8.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
 
@@ -131,7 +131,7 @@ module RelatonIec
131
131
  fetch_pages(s, 3).each_with_index do |r, _i|
132
132
  return { ret: r } if !year
133
133
 
134
- r.dates.select { |d| d.type == "published" }.each do |d|
134
+ r.date.select { |d| d.type == "published" }.each do |d|
135
135
  return { ret: r } if year.to_i == d.on.year
136
136
 
137
137
  missed_years << d.on.year
@@ -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
@@ -62,17 +62,17 @@ module RelatonIec
62
62
  edition: edition,
63
63
  language: ["en"],
64
64
  script: ["Latn"],
65
- titles: fetch_titles(hit_data),
65
+ title: fetch_titles(hit_data),
66
66
  type: fetch_type(doc),
67
67
  docstatus: status,
68
68
  ics: fetch_ics(doc),
69
- dates: fetch_dates(doc),
70
- contributors: fetch_contributors(hit_data[:code]),
69
+ date: fetch_dates(doc),
70
+ contributor: fetch_contributors(hit_data[:code]),
71
71
  editorialgroup: fetch_workgroup(doc),
72
72
  abstract: fetch_abstract(doc),
73
73
  copyright: fetch_copyright(hit_data[:code], doc),
74
74
  link: fetch_link(doc, hit_data[:url]),
75
- relations: relations,
75
+ relation: relations,
76
76
  )
77
77
  end
78
78
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
@@ -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
- roles: ["publisher"] }
379
+ role: [type: "publisher"] }
375
380
  end
376
381
  end
377
382
 
@@ -1,3 +1,3 @@
1
1
  module RelatonIec
2
- VERSION = "0.3.2".freeze
2
+ VERSION = "0.4.4".freeze
3
3
  end
data/relaton_iec.gemspec CHANGED
@@ -35,5 +35,5 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "webmock"
36
36
 
37
37
  spec.add_dependency "addressable"
38
- spec.add_dependency "relaton-iso-bib", "~> 0.2.0"
38
+ spec.add_dependency "relaton-iso-bib", "~> 0.3.0"
39
39
  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.3.2
4
+ version: 0.4.4
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-22 00:00:00.000000000 Z
11
+ date: 2019-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.2.0
173
+ version: 0.3.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.2.0
180
+ version: 0.3.0
181
181
  description: 'RelatonIec: retrieve IEC Standards for bibliographic use using the IsoBibliographicItem
182
182
  model'
183
183
  email:
@@ -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