pubid-core 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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