number_read_out 0.0.2 → 0.0.3

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
  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.