relaton-itu 0.3.0 → 0.3.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
  SHA1:
3
- metadata.gz: 103c32b6163973f664486f91981884bd8c98074e
4
- data.tar.gz: 2fd3e490d31f85b483516cb3a3cd9cbfff93745b
3
+ metadata.gz: fa06401d8a01fbeec3a0debc94dd6adf35c41dc9
4
+ data.tar.gz: 8fb8d5554c349fe7dcbc0f1e8e3d4b0f91b0ec2f
5
5
  SHA512:
6
- metadata.gz: 148c8b704230e3c6fe1e5d1ebadf8e7c1ee99c3729096e6a03848004e3a30a3a469b522ba82bc6be1318015308c3b53666e25a8c6d6a8582d6e678207fe6fe07
7
- data.tar.gz: 257bec32aa5a84eab4674d6b75209bfd69acaaef4d84b4b6756ec390d83ebf037a7fbbdee583d21196722db550bb7bdf76ed82c07545856763d3b6dbc42931d7
6
+ metadata.gz: 83d8e30cc9b7cdaca1eb04fb85d2d4634a807525fd1d5e8866fb5a492ad11b443b04ffa3eaf7380591097e34cef2a75274dd6b59a5b42584569beac6cf4d7b81
7
+ data.tar.gz: dabf910e6a85a08362dd796f640ccbe75027aa977d3dacb5ccb70705a4d15b32a95fc5f705b1d0280cb36320f12af5403b291b62388948314369e3c2ee99f991
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- relaton-itu (0.3.0)
4
+ relaton-itu (0.3.1)
5
5
  relaton-iso-bib (~> 0.3.0)
6
6
 
7
7
  GEM
@@ -35,10 +35,10 @@ GEM
35
35
  pry (~> 0.10)
36
36
  public_suffix (3.1.1)
37
37
  rake (10.5.0)
38
- relaton-bib (0.3.0)
38
+ relaton-bib (0.3.2)
39
39
  addressable
40
40
  nokogiri (~> 1.10)
41
- relaton-iso-bib (0.3.0)
41
+ relaton-iso-bib (0.3.2)
42
42
  isoics (~> 0.1.6)
43
43
  relaton-bib (~> 0.3.0)
44
44
  ruby_deep_clone (~> 0.8.0)
data/README.adoc CHANGED
@@ -143,6 +143,22 @@ fetching ITU-T L.163...
143
143
  ...
144
144
  ----
145
145
 
146
+ === Create bibliographic item form YAML
147
+ [source,ruby]
148
+ ----
149
+ hash = YAML.load_file 'spec/examples/itu_bib_item.yml'
150
+ => {"id"=>"ITU-T L.163 (11/2018)",
151
+ ...
152
+
153
+ bib_hash = RelatonItu::HashConverter.hash_to_bib hash
154
+ => {:id=>"ITU-T L.163 (11/2018)",
155
+ ...
156
+
157
+ RelatonItu::ItuBibliographicItem.new bib_hash
158
+ => #<RelatonItu::ItuBibliographicItem:0x007fd88ac02aa0
159
+ ...
160
+ ----
161
+
146
162
  == Development
147
163
 
148
164
  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.
@@ -12,16 +12,16 @@ module RelatonItu
12
12
  attr_reader :subgroup, :workgroup
13
13
 
14
14
  # @param bureau [String]
15
- # @param group [RelatonItu::ItuGroup]
16
- # @param subgroup [RelatonItu::ItuGroup, NilClass]
17
- # @param workgroup [RelatonItu::ItuGroup, NilClass]
15
+ # @param group [Hash, RelatonItu::ItuGroup]
16
+ # @param subgroup [Hash, RelatonItu::ItuGroup, NilClass]
17
+ # @param workgroup [Hash, RelatonItu::ItuGroup, NilClass]
18
18
  def initialize(bureau:, group:, subgroup: nil, workgroup: nil)
19
19
  raise ArgumentError, "invalid bureau: #{bureau}" unless BUREAUS.include? bureau
20
20
 
21
21
  @bureau = bureau
22
- @group = group
23
- @subgroup = subgroup
24
- @workgroup = workgroup
22
+ @group = group.is_a?(Hash) ? ItuGroup.new(group) : group
23
+ @subgroup = subgroup.is_a?(Hash) ? ItuGroup.new(subgroup) : subgroup
24
+ @workgroup = workgroup.is_a?(Hash) ? ItuGroup.new(workgroup) : workgroup
25
25
  end
26
26
 
27
27
  # @param builder [Nokogiri::XML::Builder]
@@ -0,0 +1,26 @@
1
+ module RelatonItu
2
+ class HashConverter < RelatonIsoBib::HashConverter
3
+ class << self
4
+ # @override RelatonBib::HashConverter.hash_to_bib
5
+ # @param args [Hash]
6
+ # @param nested [TrueClass, FalseClass]
7
+ # @return [Hash]
8
+ # def hash_to_bib(args, nested = false)
9
+ # ret = super
10
+ # return if ret.nil?
11
+
12
+ # doctype_hash_to_bib(ret)
13
+ # ret
14
+ # end
15
+
16
+ private
17
+
18
+ def editorialgroup_hash_to_bib(ret)
19
+ eg = ret[:editorialgroup]
20
+ return unless eg
21
+
22
+ ret[:editorialgroup] = EditorialGroup.new eg
23
+ end
24
+ end
25
+ end
26
+ end
@@ -8,6 +8,7 @@ require "relaton_itu/scrapper"
8
8
  require "relaton_itu/hit_collection"
9
9
  require "relaton_itu/hit"
10
10
  require "relaton_itu/xml_parser"
11
+ require "relaton_itu/hash_converter"
11
12
  require "date"
12
13
 
13
14
  module RelatonItu
@@ -37,7 +37,7 @@ module RelatonItu
37
37
  # @param type [String, NilClass]
38
38
  # @param name [String]
39
39
  # @param acronym [String, NilClass]
40
- # @param period [RelatonItu::ItuGroup::Period, NilClass]
40
+ # @param period [Hash, RelatonItu::ItuGroup::Period, NilClass]
41
41
  def initialize(type: nil, name:, acronym: nil, period: nil)
42
42
  if type && !TYPES.include?(type)
43
43
  raise ArgumentError, "invalid type: #{type}"
@@ -46,7 +46,7 @@ module RelatonItu
46
46
  @type = type
47
47
  @name = name
48
48
  @acronym = acronym
49
- @period = period
49
+ @period = period.is_a?(Hash) ? Period.new(period) : period
50
50
  end
51
51
 
52
52
  # @param builder [Nokogiri::XML::Builder]
@@ -278,7 +278,7 @@ module RelatonItu
278
278
  name = "International Telecommunication Union"
279
279
  url = "www.itu.int"
280
280
  end
281
- [{ entity: { name: name, url: url, abbreviation: abbrev }, role: ["publisher"] }]
281
+ [{ entity: { name: name, url: url, abbreviation: abbrev }, role: [type: "publisher"] }]
282
282
  end
283
283
 
284
284
  # Fetch ICS.
@@ -1,3 +1,3 @@
1
1
  module RelatonItu
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.3.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-itu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.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: 2019-07-25 00:00:00.000000000 Z
11
+ date: 2019-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -188,6 +188,7 @@ files:
188
188
  - lib/relaton/processor.rb
189
189
  - lib/relaton_itu.rb
190
190
  - lib/relaton_itu/editorial_group.rb
191
+ - lib/relaton_itu/hash_converter.rb
191
192
  - lib/relaton_itu/hit.rb
192
193
  - lib/relaton_itu/hit_collection.rb
193
194
  - lib/relaton_itu/itu_bibliographic_item.rb