pubid-core 0.1.7 → 0.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: 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