pubid-core 0.1.7 → 0.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: 9895b8d56bf37310135d11148c71ea31514d203a4157b6d6bcb9a4d4df81be58
4
- data.tar.gz: 92d7bc8de5d97c2bda090ba2e2056819d29a31fff22f67495a7a4947ffaecc98
3
+ metadata.gz: 93c28e13e304c094216d1462cea591513b1aede6f05af471f3d132c3be3377b4
4
+ data.tar.gz: 271fe8e18f93cdc6992661dd1d947a5b0b07a94a274d89dd7a570ebebf584e62
5
5
  SHA512:
6
- metadata.gz: 57ad7508563a1bd967e6d60ff78faa2ea7a26e954a001545f0220ccfbbfe6efe935d7d0f8e9a0dec06ef27fb93e5620c6a1e3ca50a43a71b019e63d5bfab4a6b
7
- data.tar.gz: 0eda4ada9150f10b557a57610f802463773e8573c6f059180cec900ca769e205aa08e51e17d7152b11be88d57fd261b9b1b19d22f5744b51711b5ad1363569d8
6
+ metadata.gz: 6d2f3e659948c50b0adbbcf3bcc493fc3de30c18328152dc68763c54d194ddf632008a82794101110fd292fadaef4f66aca698da69e907f2499906eb9bbcbb5a
7
+ data.tar.gz: 979782c7e32cb6887f0bac5d308a140eba206bee84b994d9137aeb952ebb6d2419f3c5c7a3c3baa989e3e46753659c9ccdec21374e26afedbe96491cbdb8f6aa
@@ -24,7 +24,7 @@ module Pubid::Core
24
24
  end
25
25
  end
26
26
 
27
- opts.each { |key, value| send("#{key}=", value.is_a?(Array) && value || value.to_s) }
27
+ opts.each { |key, value| send("#{key}=", value.is_a?(Parslet::Slice) && value.to_s || value) }
28
28
  end
29
29
 
30
30
  def urn
@@ -15,12 +15,13 @@ module Pubid::Core::Renderer
15
15
 
16
16
  def prerender_params(params, opts)
17
17
  params.map do |key, value|
18
+ next unless value
18
19
  if respond_to?("render_#{key}")
19
20
  [key, send("render_#{key}", value, opts, params)]
20
21
  else
21
22
  [key, value]
22
23
  end
23
- end.to_h
24
+ end.compact.to_h
24
25
  end
25
26
 
26
27
  # render from hash keys
@@ -50,11 +51,11 @@ module Pubid::Core::Renderer
50
51
  end
51
52
 
52
53
  def render_amendments(amendments, _opts, _params)
53
- amendments.map(&:render_pubid).join("+")
54
+ amendments.sort.map(&:render_pubid).join("+")
54
55
  end
55
56
 
56
57
  def render_corrigendums(corrigendums, _opts, _params)
57
- corrigendums.map(&:render_pubid).join("+")
58
+ corrigendums.sort.map(&:render_pubid).join("+")
58
59
  end
59
60
 
60
61
  def render_type(type, opts, params)
@@ -1,13 +1,18 @@
1
1
  module Pubid::Core
2
2
  class Supplement
3
- attr_accessor :version, :number, :stage
3
+ include Comparable
4
+ attr_accessor :version, :number
4
5
 
5
- def initialize(version:, number: nil, stage: nil)
6
- @version, @number, @stage = version, number, stage
6
+ def initialize(version:, number: nil)
7
+ @version, @number = version&.to_i, number&.to_i
7
8
  end
8
9
 
9
- def ==(other)
10
- other.version == version && (number.nil? || other.number == number) && (stage.nil? || other.stage == stage)
10
+ def <=>(other)
11
+ return 0 if number.nil? && other.number
12
+
13
+ return number <=> other.number if version == other.version
14
+
15
+ (version <=> other.version) || number <=> other.number
11
16
  end
12
17
 
13
18
  def render_pubid_number
@@ -1,5 +1,5 @@
1
1
  module Pubid
2
2
  module Core
3
- VERSION = "0.1.7".freeze
3
+ VERSION = "0.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: 0.1.7
4
+ version: 0.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-06-10 00:00:00.000000000 Z
11
+ date: 2022-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake