number_read_out 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: aadcd8ef8da0e7c948f3ae6b843e1eb619b232d7
4
- data.tar.gz: b0cfeaf9fd6009cfa9e6782dd8d9afb188f638ef
3
+ metadata.gz: '0039e7076e3762eafc49f0164c4de8a7ea67a1e3'
4
+ data.tar.gz: 409390a9cfbeb649b5b3b5d41ee5f0a0f736ac6e
5
5
  SHA512:
6
- metadata.gz: 261c9ebc3abaff16c3deea3b35c27e48d5f968e7b2bb60b54704db9e993715b97449849481a9b2e144c40b62b360cabeb8ff106147014be37fd496eeb23e9775
7
- data.tar.gz: d36085543f463f4fc84da0e4c105269a4fdce8540a897365902e0fce48b968a3b45fcb01bc82bae844cf90993d39481184548a3ee56336dc398ca09ec1d61574
6
+ metadata.gz: 4ada0ccaaa300a72b2cacc0fa18f758dc5596e5bbaa24e57a1349de9eea469ee41f40ad3e35ea5e4dffd635dd33c9c011f3e42c3dcaf7208cd97b139941928dc
7
+ data.tar.gz: cc1dfa53784855b719d50e74ba38b729c9881a171cd5886edce7bbb1cba9d57d8ccbea4ac98932bc4ead81a311631ae395e29144d6212d14f01ffc607766c3a5
data/README.md CHANGED
@@ -59,7 +59,7 @@ or in Geek drachmas:
59
59
 
60
60
  ### Caveats
61
61
 
62
- For _now_ only positive currencies for up to two decimal digits are supported. Additional decimal digits are trungated.
62
+ For _now_ only positive currencies for up to two decimal digits are supported. Additional decimal digits are truncated.
63
63
 
64
64
  ## Development
65
65
 
@@ -1,3 +1,3 @@
1
1
  module NumberReadOut
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -2,6 +2,8 @@ require "number_read_out/version"
2
2
 
3
3
  module NumberReadOut
4
4
 
5
+
6
+
5
7
  SpokenNumbers = {en: {male: {hundreds: ['ONE HUNDRED', 'ONE HUNDRED', 'TWO HUNDRED', 'THREE HUNDRED', 'FOUR HUNDRED', 'FIVE HUNDRED', 'SIX HUNDRED', 'SEVEN HUNDRED', 'EIGHT HUNDRED', 'NINE HUNDRED'],
6
8
  dozens: ['', 'TEN', 'TWENTY', 'THIRTY', 'FORTY', 'FIFTY', 'SIXTY', 'SEVENTY', 'EIGHT', 'NINETY','TEN', 'ELEVEN', 'TWELVE', 'THIRTEEN', 'FOURTEEN', 'FIFTEEN', 'SIXTEEN', 'SEVENTEEN', 'EIGHTEEN', 'NINETEEN'],
7
9
  monads: ['', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE'],
@@ -32,6 +34,7 @@ module NumberReadOut
32
34
  PartOfNumber = [:hundreds, :thousands, :millions, :billions, :trillions, :quadrillions]
33
35
 
34
36
  def self.decimal_part_to_text(douplet,currency = :euro,lang = :gr)
37
+
35
38
  return '' if douplet == 0
36
39
 
37
40
  raise ArgumentError.new("Wrong douplet #{douplet}") if douplet > 99
@@ -49,6 +52,7 @@ module NumberReadOut
49
52
  end
50
53
  textual + ' ' +( SpokenCurrencies[lang][currency][douplet == 1 ? 1:2] )
51
54
  end
55
+ private_class_method :decimal_part_to_text
52
56
 
53
57
  def self.triplet_to_text(
54
58
  triplet,
@@ -100,6 +104,8 @@ module NumberReadOut
100
104
  textual
101
105
 
102
106
  end
107
+ private_class_method :triplet_to_text
108
+
103
109
 
104
110
  def self.full_currency_text(amount_str, currency= :euro,lang= :gr)
105
111
 
@@ -110,12 +116,13 @@ module NumberReadOut
110
116
  raise ArgumentError.new("Parameter amount: too many dots or commas") if dots >1 or commas >1
111
117
 
112
118
  # split integer, decimal part
113
- integer_part_of_number,decimal_part_of_number = amount_str.split(dots==1? '.': ',')
119
+ integer_part_of_number, decimal_part_of_number = amount_str.split(dots==1? '.': ',')
120
+
114
121
 
115
122
  integer_part_of_number = integer_part_of_number.to_i
116
123
  raise ArgumentError.new("Integer part too long") if integer_part_of_number > 999999999999999999
117
124
 
118
- decimal_part_of_number = (decimal_part_of_number ? decimal_part_of_number[0..1].to_i : 0)
125
+ decimal_part_of_number = ((decimal_part_of_number || '00') << '0')[0..1].to_i
119
126
  decimal_part_text = decimal_part_to_text(decimal_part_of_number, currency,lang)
120
127
 
121
128
  integer_part_text = ''
@@ -30,5 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency "bundler", "~> 1.12"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
32
  spec.add_development_dependency "minitest", "~> 5.0"
33
- #spec.add_development_dependency "tiny_tds", "~> 1.0"
33
+ spec.add_development_dependency "tiny_tds", "~> 1.0"
34
+ spec.add_development_dependency "simplecov"
35
+ spec.add_development_dependency "byebug"
34
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: number_read_out
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michail Pantelelis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-12 00:00:00.000000000 Z
11
+ date: 2017-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,48 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: tiny_tds
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
55
97
  description: Convert numbers and currencies to text in Greek and English. Usefull
56
98
  where a full text number representation is needed as in cheques and invoices.
57
99
  email:
@@ -92,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
134
  version: '0'
93
135
  requirements: []
94
136
  rubyforge_project:
95
- rubygems_version: 2.5.1
137
+ rubygems_version: 2.5.2
96
138
  signing_key:
97
139
  specification_version: 4
98
140
  summary: Utility gem to convert numbers/currencies to text in Greek and English.