pubid-core 1.8.4 → 1.8.6

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: b39e42a4a1196d8f3510d93cec936eeef930c49119acf0c898c927fd2c14c12a
4
- data.tar.gz: 22dbb10b9190cf3d3fb7c4e5ac0a4975f984483434c54572b94db3af8beb17e7
3
+ metadata.gz: 97aa518f45d87f5bff0afa474a3db2057a3071e655915c83db8aaf38c911fe88
4
+ data.tar.gz: f4ea4f74981a8624ed81a622a57634269d0efde5068f1d4385baf131670074ed
5
5
  SHA512:
6
- metadata.gz: 914b8dc3a40f13b95e607bc653e117a6eaecc532fc744dfdb3ef79ff6a01051aaa389db3e1181d107d8365b38704e8d5f3521eed355b14c4bddb5d4b40df5172
7
- data.tar.gz: 9f5c42f3d069cf23d58bb5361b04296a76be68b2766995d5965c8238c56279fe5f51dd8d72f8aec1abddabc515a69ae753fdafd5b6d5bd665540f7d2aaab9730
6
+ metadata.gz: a1ee5291d1973c694f48ba299040c9ac5b22f592d3904fc729444e7df4b1dca204af1ee29cd06dd047fa0bb3efad35c232091e85ca0da000fce69d3d5c8ad36e
7
+ data.tar.gz: 5525d84fb8ea848218849cbdaefba98e8bc9533be22edd41a5fef1f46c8b3ae1ffa3a060ad5b901327a4a00bcd87c486da239faea7cddee909748eb74d63aef7
@@ -94,7 +94,7 @@ module Pubid::Core
94
94
  params.inject({}) do |r, i|
95
95
  result = r
96
96
  i.each do |k, v|
97
- result = result.merge(k => r.key?(k) ? [v, r[k]].flatten : v)
97
+ result = result.merge(k => r.key?(k) ? [r[k], v].flatten : v)
98
98
  end
99
99
  result
100
100
  end
@@ -41,6 +41,29 @@ module Pubid::Core
41
41
  end
42
42
  context
43
43
  end
44
+
45
+ rule(roman_numerals: simple(:roman_numerals)) do |context|
46
+ roman_to_int(context[:roman_numerals])
47
+ end
48
+ end
49
+
50
+ ROMAN_TO_INT = {
51
+ "I" => 1,
52
+ "V" => 5,
53
+ "X" => 10,
54
+ "L" => 50,
55
+ "C" => 100,
56
+ "D" => 500,
57
+ "M" => 1000,
58
+ }
59
+
60
+ def roman_to_int(roman)
61
+ sum = ROMAN_TO_INT[roman.to_s[0]]
62
+ roman.to_s.chars.each_cons(2) do |c1, c2|
63
+ sum += ROMAN_TO_INT[c2]
64
+ sum -= ROMAN_TO_INT[c1] * 2 if ROMAN_TO_INT[c1] < ROMAN_TO_INT[c2]
65
+ end
66
+ sum
44
67
  end
45
68
  end
46
69
  end
@@ -1,5 +1,5 @@
1
1
  module Pubid
2
2
  module Core
3
- VERSION = "1.8.4".freeze
3
+ VERSION = "1.8.6".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.8.4
4
+ version: 1.8.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-30 00:00:00.000000000 Z
11
+ date: 2023-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake