pubid-core 1.1.1 → 1.2.0

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
  SHA256:
3
- metadata.gz: 151e935e74a5977ef8728449d2e4f8a06175e38669a4394cfb561e330cacd051
4
- data.tar.gz: 5b70b9ca2ab35c264426478f6d747b70a9c67f4872f921006e77a5b20b039450
3
+ metadata.gz: 1e9bf3dd3d9bc2b650200a864109ae197ab92914d1badcbf211d414b9b72d535
4
+ data.tar.gz: 65ceef880cc4e59dfa4cd059cd2b57090cfee8400cf26717f6bd480d3a29b7db
5
5
  SHA512:
6
- metadata.gz: 910b4449b492a78156b73a25f18fed85df8915b079e4ce09f3d7d5780aeb33e536a5347e289fb9ea69f8b4d7be5db719612deaf8e409e4199768524d0242c80a
7
- data.tar.gz: 663243db6546332315f0688879a57b3155e39c5f4c72941bb3a32201f262ca9254ae0045df8fba8bf0ecd705ded64d2ec1c277f78b0523a702632e0be0114c7e
6
+ metadata.gz: 57670502ba1de60b88d0befb0933f990c37b3dd23544a5bd4889d2da0aea6086ea1d87032e9c547c2c5a9430037c3325d77149ebe36edf3a66c349ec3d734274
7
+ data.tar.gz: 1c9917b90d532faf17a601fea62ea18fe204098052b349b189067287877f29ba66dd2e244389b4b906d8772d33eced7aa2f204f61082a81aede616168e11b038
@@ -14,16 +14,34 @@ module Pubid::Core
14
14
  # @param edition [Integer] document's edition, eg. "1"
15
15
  # @param language [String] document's translation language
16
16
  # (available languages: "ru", "fr", "en", "ar")
17
- # @param amendments [Array<Amendment>] document's amendments
18
- # @param corrigendums [Array<Corrigendum>] document's corrigendums
17
+ # @param amendments [Array<Amendment>,Array<Hash>] document's amendments
18
+ # @param corrigendums [Array<Corrigendum>,Array<Hash>] document's corrigendums
19
19
  # @see Amendment
20
20
  # @see Corrigendum
21
21
  def initialize(publisher:, number:, copublisher: nil, part: nil, type: nil,
22
22
  year: nil, edition: nil, language: nil, amendments: nil,
23
23
  corrigendums: nil)
24
24
 
25
- @amendments = amendments
26
- @corrigendums = corrigendums
25
+ if amendments
26
+ @amendments = amendments.map do |amendment|
27
+ if amendment.is_a?(Hash)
28
+ self.class.get_transformer_class.new.apply(:amendments => [amendment])[:amendments].first
29
+ else
30
+ amendment
31
+ end
32
+ end
33
+ end
34
+
35
+ if corrigendums
36
+ @corrigendums = corrigendums.map do |corrigendum|
37
+ if corrigendum.is_a?(Hash)
38
+ self.class.get_transformer_class.new.apply(:corrigendums => [corrigendum])[:corrigendums].first
39
+ else
40
+ corrigendum
41
+ end
42
+ end
43
+ end
44
+
27
45
  @publisher = publisher.to_s
28
46
  @number = number
29
47
  @copublisher = copublisher if copublisher
@@ -1,36 +1,36 @@
1
1
  module Pubid::Core
2
2
  class Supplement
3
3
  include Comparable
4
- attr_accessor :version, :number
4
+ attr_accessor :number, :year
5
5
 
6
- # Creates new supplement with provided version and optional number
7
- # @param version [Integer]
6
+ # Creates new supplement with provided update number and optional year
8
7
  # @param number [Integer]
9
- def initialize(version:, number: nil)
10
- @version, @number = version&.to_i, number&.to_i
8
+ # @param year [Integer]
9
+ def initialize(number:, year: nil)
10
+ @number, @year = number&.to_i, year&.to_i
11
11
  end
12
12
 
13
13
  def <=>(other)
14
- return 0 if number.nil? && other.number
14
+ return 0 if year.nil? && other.year
15
15
 
16
- return number <=> other.number if version == other.version
16
+ return year <=> other.year if number == other.number
17
17
 
18
- (version <=> other.version) || number <=> other.number
18
+ (number <=> other.number) || year <=> other.year
19
19
  end
20
20
 
21
21
  def render_pubid_number
22
- if @number
23
- "#{@version}:#{@number}"
22
+ if @year
23
+ "#{@number}:#{@year}"
24
24
  else
25
- "#{@version}"
25
+ "#{@number}"
26
26
  end
27
27
  end
28
28
 
29
29
  def render_urn_number
30
- if @number
31
- ":#{@number}:v#{@version}"
30
+ if @year
31
+ ":#{@year}:v#{@number}"
32
32
  else
33
- ":#{@version}:v1"
33
+ ":#{@number}:v1"
34
34
  end
35
35
  end
36
36
  end
@@ -16,13 +16,13 @@ module Pubid::Core
16
16
  rule(amendments: subtree(:amendments)) do |context|
17
17
  if context[:amendments].is_a?(Array)
18
18
  context[:amendments] = context[:amendments].map do |amendment|
19
- self.class.get_amendment_class.new(version: amendment[:version], number: amendment[:number])
19
+ self.class.get_amendment_class.new(number: amendment[:number], year: amendment[:year])
20
20
  end
21
21
  else
22
22
  context[:amendments] =
23
23
  [self.class.get_amendment_class.new(
24
- version: context[:amendments][:version],
25
- number: context[:amendments][:number])]
24
+ number: context[:amendments][:number],
25
+ year: context[:amendments][:year])]
26
26
 
27
27
  end
28
28
  context
@@ -31,13 +31,13 @@ module Pubid::Core
31
31
  rule(corrigendums: subtree(:corrigendums)) do |context|
32
32
  if context[:corrigendums].is_a?(Array)
33
33
  context[:corrigendums] = context[:corrigendums].map do |corrigendum|
34
- self.class.get_corrigendum_class.new(version: corrigendum[:version], number: corrigendum[:number])
34
+ self.class.get_corrigendum_class.new(number: corrigendum[:number], year: corrigendum[:year])
35
35
  end
36
36
  else
37
37
  context[:corrigendums] =
38
38
  [self.class.get_corrigendum_class.new(
39
- version: context[:corrigendums][:version],
40
- number: context[:corrigendums][:number])]
39
+ number: context[:corrigendums][:number],
40
+ year: context[:corrigendums][:year])]
41
41
  end
42
42
  context
43
43
  end
@@ -1,5 +1,5 @@
1
1
  module Pubid
2
2
  module Core
3
- VERSION = "1.1.1".freeze
3
+ VERSION = "1.2.0".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubid-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-04 00:00:00.000000000 Z
11
+ date: 2022-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake