smerp-common 0.1.0 → 0.1.1

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: 1c8ba3a20a3dc040be402897ca0ecc74f140388ceb426ca6c1ea85123df40fc3
4
- data.tar.gz: 153946e9f44cefdd2f1904dfea72bdda168bc17a1736313b6c2c9f5aa43e2b93
3
+ metadata.gz: 83dc65597aaba0fda6e5bea3bcb03d47839e55e914bf17d955431ef4dd54ea9e
4
+ data.tar.gz: d3486bb091b0b7eb3afe217d43895f76a9bbb1e25dcb1a182724fd74b9534c2e
5
5
  SHA512:
6
- metadata.gz: 9ba1252b8545157d8018406d8b6524087412dd1c415af08c330f3d5595461dd83b8c1892f6d361df1d7142e75cbd081307e57103d76b579c19d623823d22c90e
7
- data.tar.gz: f39883f0b8c80587da4bf0fb8fbe590e3a99727063d673ed672882de218f5faad39fa42dde00dde92f9e05578dffe1a2cc0bf60c090d5028a4211d58ac038d33
6
+ metadata.gz: 1d7d539336ef9409276d2acaa48229e67643c986b6361ad224f8874c345a8f5822a647f95e43dee0de3551f2d0ddd16ba301fcd9aefaa12a2e6d554db8e9ed41
7
+ data.tar.gz: bf9ee3433202a01a455df7886128638e5b96c99d6c6f7dadc8e2dc0fad0a1b45bc2d1387f9105ca2e2d4fec2b8976644825bea4d46497c81f22dd3b0f6fe3dd5
@@ -0,0 +1,4 @@
1
+ ---
2
+ smerp-common:
3
+ - :version: 0.1.0
4
+ :timestamp: 1664508832.3883212
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smerp-common (0.1.0)
4
+ smerp-common (0.1.1)
5
+ roman-numerals
5
6
  teLogger
6
7
  toolrack
7
8
 
@@ -9,7 +10,7 @@ GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
11
12
  base58 (0.2.3)
12
- devops_assist (0.3.0)
13
+ devops_assist (0.3.1)
13
14
  git_cli
14
15
  git_cli_prompt
15
16
  gvcs
@@ -31,19 +32,20 @@ GEM
31
32
  tty-color (~> 0.5)
32
33
  ptools (1.4.2)
33
34
  rake (13.0.6)
35
+ roman-numerals (0.3.0)
34
36
  rspec (3.11.0)
35
37
  rspec-core (~> 3.11.0)
36
38
  rspec-expectations (~> 3.11.0)
37
39
  rspec-mocks (~> 3.11.0)
38
40
  rspec-core (3.11.0)
39
41
  rspec-support (~> 3.11.0)
40
- rspec-expectations (3.11.0)
42
+ rspec-expectations (3.11.1)
41
43
  diff-lcs (>= 1.2.0, < 2.0)
42
44
  rspec-support (~> 3.11.0)
43
45
  rspec-mocks (3.11.1)
44
46
  diff-lcs (>= 1.2.0, < 2.0)
45
47
  rspec-support (~> 3.11.0)
46
- rspec-support (3.11.0)
48
+ rspec-support (3.11.1)
47
49
  teLogger (0.2.0)
48
50
  toolrack (0.19.1)
49
51
  base58
@@ -0,0 +1,105 @@
1
+
2
+ require 'roman-numerals'
3
+
4
+ module Smerp
5
+ module Common
6
+
7
+ class NumeralToStringConversionException < StandardError; end
8
+
9
+ # expect to integrate into integer class
10
+ module NumeralToStringConversion
11
+
12
+ def int_to_roman
13
+ RomanNumerals.to_roman(self.to_i)
14
+ end
15
+ alias_method :int_to_roman_upcase, :int_to_roman
16
+
17
+ def int_to_roman_downcase
18
+ int_to_roman.downcase
19
+ end
20
+
21
+
22
+ def int_to_alpha
23
+
24
+ input = self.to_i
25
+ ins = []
26
+
27
+ input = input * -1 if input < 0
28
+ input = 1 if input == 0
29
+
30
+ if input > 26
31
+ l = input / 26
32
+ (0...l).each do |ll|
33
+ ins << 26
34
+ end
35
+
36
+ ins << input-(26*l)
37
+ else
38
+ ins << input
39
+ end
40
+
41
+ base = 65 # 'A'
42
+ v = self.to_i
43
+
44
+ res = []
45
+ ins.each do |input|
46
+ val = base + input - 1
47
+ res << val.chr
48
+ end
49
+
50
+ res.join
51
+
52
+ end
53
+ alias_method :int_to_alpha_upcase, :int_to_alpha
54
+
55
+ def int_to_alpha_downcase
56
+ int_to_alpha.downcase
57
+ end
58
+
59
+ end
60
+
61
+ # expected to be integrated into String class
62
+ module StringToNumeralConversion
63
+
64
+ def roman_to_int
65
+ RomanNumerals.to_decimal(self)
66
+ end
67
+
68
+ def alpha_to_int
69
+
70
+ smallAlpha = ('a'..'z')
71
+ capAlpha = ('A'..'Z')
72
+ smallAlphaBase = 'a'.ord
73
+ capAlphaBase = 'A'.ord
74
+
75
+ res = 0
76
+ input = self.chars
77
+ input.each do |c|
78
+ if smallAlpha.include?(c)
79
+ v = c.ord - smallAlphaBase + 1
80
+ res += v
81
+ elsif capAlpha.include?(c)
82
+ v = c.ord - capAlphaBase + 1
83
+ res += v
84
+ else
85
+ res += 0
86
+ end
87
+ end
88
+
89
+ res
90
+
91
+ end
92
+ end
93
+
94
+ end
95
+ end
96
+
97
+
98
+ class Integer
99
+ include Smerp::Common::NumeralToStringConversion
100
+ end
101
+
102
+ class String
103
+ include Smerp::Common::StringToNumeralConversion
104
+ end
105
+
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Smerp
4
4
  module Common
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
7
7
  end
data/lib/smerp/common.rb CHANGED
@@ -7,6 +7,7 @@ require_relative "common/version"
7
7
 
8
8
  require_relative 'common/fin_utils'
9
9
  require_relative 'common/currency_conversion'
10
+ require_relative 'common/numeral_conversion'
10
11
 
11
12
  module Smerp
12
13
  module Common
data/smerp-common.gemspec CHANGED
@@ -33,6 +33,8 @@ Gem::Specification.new do |spec|
33
33
  spec.add_dependency 'teLogger'
34
34
  spec.add_dependency 'toolrack'
35
35
 
36
+ spec.add_dependency 'roman-numerals'
37
+
36
38
  spec.add_development_dependency "devops_assist"
37
39
 
38
40
  # Uncomment to register a new dependency of your gem
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smerp-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-30 00:00:00.000000000 Z
11
+ date: 2022-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: teLogger
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: roman-numerals
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: devops_assist
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -59,6 +73,7 @@ executables: []
59
73
  extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
76
+ - ".release_history.yml"
62
77
  - ".rspec"
63
78
  - Gemfile
64
79
  - Gemfile.lock
@@ -69,6 +84,7 @@ files:
69
84
  - lib/smerp/common.rb
70
85
  - lib/smerp/common/currency_conversion.rb
71
86
  - lib/smerp/common/fin_utils.rb
87
+ - lib/smerp/common/numeral_conversion.rb
72
88
  - lib/smerp/common/version.rb
73
89
  - smerp-common.gemspec
74
90
  homepage: ''