maguire 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/iso_data/symbol_layer/azn.json +3 -0
- data/iso_data/symbol_layer/tmt.json +2 -2
- data/lib/maguire.rb +1 -2
- data/lib/maguire/currency.rb +11 -0
- data/lib/maguire/locale.rb +36 -15
- data/lib/maguire/version.rb +1 -1
- metadata +22 -35
- data/iso_data/symbol_layer/lyd.json~ +0 -3
- data/iso_data/symbol_layer/pab.json~ +0 -3
- data/lib/maguire/locale.rb~ +0 -189
- data/lib/maguire/version.rb~ +0 -3
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 68b624745bcd22e8111fc985132ffa0bc3074af3
|
4
|
+
data.tar.gz: cfad026deb4b6355ba405ec5d20879a51ceb9ce6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 57778cf554336ddf7be48aeccf0d00cb263447a8d193f27c966d86afb08369a8bc43deb2bc474edfb8be846c36bab366e148fce06eda3b43b91aa5ef8b7ef971
|
7
|
+
data.tar.gz: 6a334c4e870965cb3f993b0de21288ed8888145d53b610c783685f50b635983edaf62668e1539927fec273633e9bff73adc8ed4e370b9956462327671bc0f0ae
|
@@ -1,3 +1,3 @@
|
|
1
1
|
{
|
2
|
-
"symbol": "
|
3
|
-
}
|
2
|
+
"symbol": "T"
|
3
|
+
}
|
data/lib/maguire.rb
CHANGED
@@ -28,10 +28,9 @@ module Maguire
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def format(money, options={})
|
31
|
-
currency = Currency.coded(money[:currency].downcase)
|
32
31
|
locale = Locale.lookup(options[:locale] || Maguire.default_locale)
|
33
32
|
|
34
|
-
locale.format(money[:value], currency, options)
|
33
|
+
locale.format(money[:value], money[:currency], options)
|
35
34
|
end
|
36
35
|
end
|
37
36
|
|
data/lib/maguire/currency.rb
CHANGED
@@ -20,6 +20,17 @@ module Maguire
|
|
20
20
|
Currency.new(Maguire::Hash.merge([@data, locale_data]))
|
21
21
|
end
|
22
22
|
|
23
|
+
def as_json
|
24
|
+
{
|
25
|
+
name: name,
|
26
|
+
code: code,
|
27
|
+
minor_units: minor_units,
|
28
|
+
precision: precision,
|
29
|
+
symbol: symbol,
|
30
|
+
symbol_html: symbol_html
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
23
34
|
class << self
|
24
35
|
def coded(code)
|
25
36
|
self.new(Maguire.data_paths.load(code.downcase))
|
data/lib/maguire/locale.rb
CHANGED
@@ -23,14 +23,22 @@ module Maguire
|
|
23
23
|
"<##{self.class} locale=#{locale}>"
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
|
28
|
-
|
26
|
+
def localized_currency(currency_code)
|
27
|
+
currency_code.downcase!
|
28
|
+
currency = Currency.coded(currency_code)
|
29
|
+
overlay = @currency_overlays[currency_code.to_sym]
|
30
|
+
if overlay
|
31
|
+
currency.overlay(overlay)
|
32
|
+
else
|
33
|
+
currency
|
34
|
+
end
|
35
|
+
end
|
29
36
|
|
30
|
-
|
31
|
-
currency =
|
37
|
+
def format(value, currency_code, options={})
|
38
|
+
currency = localized_currency(currency_code)
|
32
39
|
|
33
|
-
|
40
|
+
major_value = value.abs / currency.precision
|
41
|
+
minor_value = round(value.abs - major_value * currency.precision)
|
34
42
|
|
35
43
|
formatting = value >= 0 ?
|
36
44
|
@positive_formatting : @negative_formatting
|
@@ -59,6 +67,8 @@ module Maguire
|
|
59
67
|
end
|
60
68
|
end
|
61
69
|
|
70
|
+
groups = split_value_into_groups(major_value, formatting[:digit_grouping_style])
|
71
|
+
|
62
72
|
formatting[:layout] % {
|
63
73
|
symbol: symbol,
|
64
74
|
code: currency.code,
|
@@ -68,6 +78,14 @@ module Maguire
|
|
68
78
|
}
|
69
79
|
end
|
70
80
|
|
81
|
+
def as_json
|
82
|
+
{
|
83
|
+
positive: @positive_formatting,
|
84
|
+
negative: @negative_formatting,
|
85
|
+
zero: @zero_formatting
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
71
89
|
private
|
72
90
|
|
73
91
|
SOUTH_ASIAN_GROUPING_RE = /([0-9]{2}[^0-9]){3}[0-9]{3}[^0-9]/
|
@@ -75,21 +93,18 @@ module Maguire
|
|
75
93
|
GROUPS_OF_THREE_RE = /([0-9]{3}[^0-9]){3}+/
|
76
94
|
|
77
95
|
def parse_groups_in_south_asian_style(layout)
|
78
|
-
@group_numbers_in_south_asian_style = true
|
79
96
|
digit_grouping_symbol = layout.match(/1([^0-9]*)23/)[1]
|
80
97
|
layout.gsub!(["1", "23", "45", "67", "890"].join(digit_grouping_symbol), "%{major_value}")
|
81
98
|
digit_grouping_symbol
|
82
99
|
end
|
83
100
|
|
84
101
|
def parse_groups_of_four(layout)
|
85
|
-
@group_numbers_in_fours = true
|
86
102
|
digit_grouping_symbol = layout.match(/12([^0-9]*)3456/)[1]
|
87
103
|
layout.gsub!(["12", "3456", "7890"].join(digit_grouping_symbol), "%{major_value}")
|
88
104
|
digit_grouping_symbol
|
89
105
|
end
|
90
106
|
|
91
107
|
def parse_groups_of_three(layout)
|
92
|
-
@group_numbers_in_threes = true
|
93
108
|
digit_grouping_symbol = layout.match(/1([^0-9]*)234/)[1]
|
94
109
|
layout.gsub!(["1", "234", "567", "890"].join(digit_grouping_symbol), "%{major_value}")
|
95
110
|
digit_grouping_symbol
|
@@ -104,10 +119,13 @@ module Maguire
|
|
104
119
|
|
105
120
|
digit_grouping_symbol =
|
106
121
|
if layout =~ SOUTH_ASIAN_GROUPING_RE
|
122
|
+
digit_grouping_style = 'south_asian'
|
107
123
|
parse_groups_in_south_asian_style(layout)
|
108
124
|
elsif layout =~ GROUPS_OF_FOUR_RE
|
125
|
+
digit_grouping_style = 'quadruples'
|
109
126
|
parse_groups_of_four(layout)
|
110
127
|
elsif layout =~ GROUPS_OF_THREE_RE
|
128
|
+
digit_grouping_style = 'triples'
|
111
129
|
parse_groups_of_three(layout)
|
112
130
|
end
|
113
131
|
|
@@ -120,7 +138,8 @@ module Maguire
|
|
120
138
|
{
|
121
139
|
layout: layout,
|
122
140
|
decimal_symbol: decimal_symbol,
|
123
|
-
digit_grouping_symbol: digit_grouping_symbol
|
141
|
+
digit_grouping_symbol: digit_grouping_symbol,
|
142
|
+
digit_grouping_style: digit_grouping_style
|
124
143
|
}
|
125
144
|
end
|
126
145
|
|
@@ -136,7 +155,8 @@ module Maguire
|
|
136
155
|
{
|
137
156
|
layout: layout,
|
138
157
|
decimal_symbol: decimal_symbol,
|
139
|
-
digit_grouping_symbol: @positive_formatting[:digit_grouping_symbol]
|
158
|
+
digit_grouping_symbol: @positive_formatting[:digit_grouping_symbol],
|
159
|
+
digit_grouping_style: @positive_formatting[:digit_grouping_style]
|
140
160
|
}
|
141
161
|
end
|
142
162
|
|
@@ -159,14 +179,15 @@ module Maguire
|
|
159
179
|
groups
|
160
180
|
end
|
161
181
|
|
162
|
-
def split_value_into_groups(value)
|
182
|
+
def split_value_into_groups(value, style)
|
163
183
|
value = value.to_s
|
164
184
|
|
165
|
-
|
185
|
+
case(style)
|
186
|
+
when 'triples'
|
166
187
|
split_value_into_groups_of(value, 3)
|
167
|
-
|
188
|
+
when 'quadruples'
|
168
189
|
split_value_into_groups_of(value, 4)
|
169
|
-
|
190
|
+
when 'south_asian'
|
170
191
|
(value, partial) = break_off(value, 3)
|
171
192
|
|
172
193
|
split_value_into_groups_of(value, 2) << partial
|
data/lib/maguire/version.rb
CHANGED
metadata
CHANGED
@@ -1,52 +1,46 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: maguire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tim Evans
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: nokogiri
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: pry
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - '='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - '='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,17 +55,15 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: codeclimate-test-reporter
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description: Currency data acquired from the Swiss Association for Standardization
|
@@ -81,14 +72,8 @@ executables: []
|
|
81
72
|
extensions: []
|
82
73
|
extra_rdoc_files: []
|
83
74
|
files:
|
84
|
-
-
|
85
|
-
-
|
86
|
-
- lib/maguire/hash.rb
|
87
|
-
- lib/maguire/locale.rb
|
88
|
-
- lib/maguire/locale.rb~
|
89
|
-
- lib/maguire/version.rb
|
90
|
-
- lib/maguire/version.rb~
|
91
|
-
- lib/maguire.rb
|
75
|
+
- LICENSE
|
76
|
+
- README.md
|
92
77
|
- iso_data/patch_layer/mga.json
|
93
78
|
- iso_data/patch_layer/mro.json
|
94
79
|
- iso_data/seed_layer/aed.json
|
@@ -279,6 +264,7 @@ files:
|
|
279
264
|
- iso_data/symbol_layer/ars.json
|
280
265
|
- iso_data/symbol_layer/aud.json
|
281
266
|
- iso_data/symbol_layer/awg.json
|
267
|
+
- iso_data/symbol_layer/azn.json
|
282
268
|
- iso_data/symbol_layer/bas.json
|
283
269
|
- iso_data/symbol_layer/bbd.json
|
284
270
|
- iso_data/symbol_layer/bdt.json
|
@@ -354,7 +340,6 @@ files:
|
|
354
340
|
- iso_data/symbol_layer/ltl.json
|
355
341
|
- iso_data/symbol_layer/lvl.json
|
356
342
|
- iso_data/symbol_layer/lyd.json
|
357
|
-
- iso_data/symbol_layer/lyd.json~
|
358
343
|
- iso_data/symbol_layer/mad.json
|
359
344
|
- iso_data/symbol_layer/mdl.json
|
360
345
|
- iso_data/symbol_layer/mga.json
|
@@ -377,7 +362,6 @@ files:
|
|
377
362
|
- iso_data/symbol_layer/nzd.json
|
378
363
|
- iso_data/symbol_layer/omr.json
|
379
364
|
- iso_data/symbol_layer/pab.json
|
380
|
-
- iso_data/symbol_layer/pab.json~
|
381
365
|
- iso_data/symbol_layer/pen.json
|
382
366
|
- iso_data/symbol_layer/pgk.json
|
383
367
|
- iso_data/symbol_layer/php.json
|
@@ -432,31 +416,34 @@ files:
|
|
432
416
|
- iso_data/symbol_layer/zar.json
|
433
417
|
- iso_data/symbol_layer/zmk.json
|
434
418
|
- iso_data/symbol_layer/zmw.json
|
419
|
+
- lib/maguire.rb
|
420
|
+
- lib/maguire/currency.rb
|
421
|
+
- lib/maguire/data_set.rb
|
422
|
+
- lib/maguire/hash.rb
|
423
|
+
- lib/maguire/locale.rb
|
424
|
+
- lib/maguire/version.rb
|
435
425
|
- locale/en_US.json
|
436
|
-
- LICENSE
|
437
|
-
- README.md
|
438
426
|
homepage: http://github.com/paddle8/maguire
|
439
427
|
licenses: []
|
428
|
+
metadata: {}
|
440
429
|
post_install_message:
|
441
430
|
rdoc_options: []
|
442
431
|
require_paths:
|
443
432
|
- lib
|
444
433
|
required_ruby_version: !ruby/object:Gem::Requirement
|
445
|
-
none: false
|
446
434
|
requirements:
|
447
|
-
- -
|
435
|
+
- - ">="
|
448
436
|
- !ruby/object:Gem::Version
|
449
437
|
version: '0'
|
450
438
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
451
|
-
none: false
|
452
439
|
requirements:
|
453
|
-
- -
|
440
|
+
- - ">="
|
454
441
|
- !ruby/object:Gem::Version
|
455
442
|
version: 1.3.6
|
456
443
|
requirements: []
|
457
444
|
rubyforge_project:
|
458
|
-
rubygems_version:
|
445
|
+
rubygems_version: 2.2.2
|
459
446
|
signing_key:
|
460
|
-
specification_version:
|
447
|
+
specification_version: 4
|
461
448
|
summary: Locale-specific currency formatting for Ruby
|
462
449
|
test_files: []
|
data/lib/maguire/locale.rb~
DELETED
@@ -1,189 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
module Maguire
|
4
|
-
class Locale
|
5
|
-
class NotSupportedError < StandardError; end
|
6
|
-
|
7
|
-
attr_reader :locale, :code, :symbol, :locale
|
8
|
-
|
9
|
-
def initialize(locale, locale_data={})
|
10
|
-
@locale = locale
|
11
|
-
|
12
|
-
layouts = locale_data[:layouts]
|
13
|
-
@positive_formatting = parse_layout(layouts[:positive])
|
14
|
-
@negative_formatting = parse_layout(layouts[:negative])
|
15
|
-
if layouts[:zero]
|
16
|
-
@zero_formatting = parse_zero_layout([:zero])
|
17
|
-
end
|
18
|
-
|
19
|
-
@currency_overlays = locale_data
|
20
|
-
end
|
21
|
-
|
22
|
-
def inspect
|
23
|
-
"<##{self.class} locale=#{locale}>"
|
24
|
-
end
|
25
|
-
|
26
|
-
def format(value, currency, options={})
|
27
|
-
major_value = value.abs / currency.precision
|
28
|
-
minor_value = round(value.abs - major_value * currency.precision)
|
29
|
-
|
30
|
-
overlay = @currency_overlays[currency.code.downcase.to_sym]
|
31
|
-
currency = currency.overlay(overlay) if overlay
|
32
|
-
|
33
|
-
groups = split_value_into_groups(major_value)
|
34
|
-
|
35
|
-
formatting = value >= 0 ?
|
36
|
-
@positive_formatting : @negative_formatting
|
37
|
-
|
38
|
-
symbol = currency.symbol
|
39
|
-
if options[:html] && currency.symbol_html
|
40
|
-
symbol = currency.symbol_html
|
41
|
-
end
|
42
|
-
|
43
|
-
strip_insignificant_zeros = options[:strip_insignificant_zeros]
|
44
|
-
if options[:no_minor_units] || currency.minor_units == 0
|
45
|
-
minor_value = 0
|
46
|
-
strip_insignificant_zeros = true
|
47
|
-
end
|
48
|
-
|
49
|
-
if strip_insignificant_zeros && minor_value == 0
|
50
|
-
minor_value = ""
|
51
|
-
decimal_symbol = ""
|
52
|
-
else
|
53
|
-
minor_value = minor_value.to_s.rjust(currency.minor_units, "0")
|
54
|
-
decimal_symbol = formatting[:decimal_symbol]
|
55
|
-
|
56
|
-
if minor_value == 0 && @zero_formatting
|
57
|
-
formatting = @zero_formatting
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
formatting[:layout] % {
|
62
|
-
symbol: symbol,
|
63
|
-
code: currency.code,
|
64
|
-
decimal: decimal_symbol,
|
65
|
-
major_value: groups.join(formatting[:digit_grouping_symbol]),
|
66
|
-
minor_value: minor_value
|
67
|
-
}
|
68
|
-
end
|
69
|
-
|
70
|
-
private
|
71
|
-
|
72
|
-
SOUTH_ASIAN_GROUPING_RE = /([0-9]{2}[^0-9]){3}[0-9]{3}[^0-9]/
|
73
|
-
GROUPS_OF_FOUR_RE = /([0-9]{4}[^0-9])+/
|
74
|
-
GROUPS_OF_THREE_RE = /([0-9]{3}[^0-9]){3}+/
|
75
|
-
|
76
|
-
def parse_groups_in_south_asian_style(layout)
|
77
|
-
@group_numbers_in_south_asian_style = true
|
78
|
-
digit_grouping_symbol = layout.match(/1([^0-9]*)23/)[1]
|
79
|
-
layout.gsub!(["1", "23", "45", "67", "890"].join(digit_grouping_symbol), "%{major_value}")
|
80
|
-
digit_grouping_symbol
|
81
|
-
end
|
82
|
-
|
83
|
-
def parse_groups_of_four(layout)
|
84
|
-
@group_numbers_in_fours = true
|
85
|
-
digit_grouping_symbol = layout.match(/12([^0-9]*)3456/)[1]
|
86
|
-
layout.gsub!(["12", "3456", "7890"].join(digit_grouping_symbol), "%{major_value}")
|
87
|
-
digit_grouping_symbol
|
88
|
-
end
|
89
|
-
|
90
|
-
def parse_groups_of_three(layout)
|
91
|
-
@group_numbers_in_threes = true
|
92
|
-
digit_grouping_symbol = layout.match(/1([^0-9]*)234/)[1]
|
93
|
-
layout.gsub!(["1", "234", "567", "890"].join(digit_grouping_symbol), "%{major_value}")
|
94
|
-
digit_grouping_symbol
|
95
|
-
end
|
96
|
-
|
97
|
-
# Currency layouts are defined using a standard format of:
|
98
|
-
# 1234567890.12 USD
|
99
|
-
# 1,23,45,67,890.12 USD
|
100
|
-
# 12,3456,7890.12 USD
|
101
|
-
def parse_layout(layout)
|
102
|
-
layout = layout.dup
|
103
|
-
|
104
|
-
digit_grouping_symbol =
|
105
|
-
if layout =~ SOUTH_ASIAN_GROUPING_RE
|
106
|
-
parse_groups_in_south_asian_style(layout)
|
107
|
-
elsif layout =~ GROUPS_OF_FOUR_RE
|
108
|
-
parse_groups_of_four(layout)
|
109
|
-
elsif layout =~ GROUPS_OF_THREE_RE
|
110
|
-
parse_groups_of_three(layout)
|
111
|
-
end
|
112
|
-
|
113
|
-
layout.gsub!("USD", "%{code}")
|
114
|
-
layout.gsub!("$", "%{symbol}")
|
115
|
-
layout.gsub!("12", "%{minor_value}")
|
116
|
-
decimal_symbol = layout.match(/major_value}(.*)%{minor_value/)[1]
|
117
|
-
layout.gsub!(decimal_symbol, "%{decimal}")
|
118
|
-
|
119
|
-
{
|
120
|
-
layout: layout,
|
121
|
-
decimal_symbol: decimal_symbol,
|
122
|
-
digit_grouping_symbol: digit_grouping_symbol
|
123
|
-
}
|
124
|
-
end
|
125
|
-
|
126
|
-
def parse_zero_layout(layout)
|
127
|
-
layout = layout.dup
|
128
|
-
|
129
|
-
layout.gsub!("USD", "%{code}")
|
130
|
-
layout.gsub!("$", "%{symbol}")
|
131
|
-
layout.gsub!("1", "%{major_value}")
|
132
|
-
decimal_symbol = @positive_layout[:decimal_symbol]
|
133
|
-
layout.gsub!(decimal_symbol, "%{decimal}")
|
134
|
-
|
135
|
-
{
|
136
|
-
layout: layout,
|
137
|
-
decimal_symbol: decimal_symbol,
|
138
|
-
digit_grouping_symbol: @positive_layout[:digit_grouping_symbol]
|
139
|
-
}
|
140
|
-
end
|
141
|
-
|
142
|
-
def round(value)
|
143
|
-
value.to_i
|
144
|
-
end
|
145
|
-
|
146
|
-
def break_off(value, number)
|
147
|
-
len = value.length
|
148
|
-
number = len if number > len
|
149
|
-
[value.slice(0, len - number), value.slice(len - number, len)]
|
150
|
-
end
|
151
|
-
|
152
|
-
def split_value_into_groups_of(value, number)
|
153
|
-
groups = []
|
154
|
-
while value && value.length > 0
|
155
|
-
(value, partial) = break_off(value, number)
|
156
|
-
groups.unshift(partial)
|
157
|
-
end
|
158
|
-
groups
|
159
|
-
end
|
160
|
-
|
161
|
-
def split_value_into_groups(value)
|
162
|
-
value = value.to_s
|
163
|
-
|
164
|
-
if @group_numbers_in_threes
|
165
|
-
split_value_into_groups_of(value, 3)
|
166
|
-
elsif @group_numbers_in_fours
|
167
|
-
split_value_into_groups_of(value, 4)
|
168
|
-
elsif @group_numbers_in_south_asian_style
|
169
|
-
(value, partial) = break_off(value, 3)
|
170
|
-
|
171
|
-
split_value_into_groups_of(value, 2) << partial
|
172
|
-
else
|
173
|
-
[]
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
class << self
|
178
|
-
def lookup(options)
|
179
|
-
locale = "#{options[:lang].downcase}_#{options[:country].upcase}"
|
180
|
-
data = Maguire.locale_paths.load(locale)
|
181
|
-
if data.nil?
|
182
|
-
raise Locale::NotSupportedError.new("The locale #{locale} isn't supported")
|
183
|
-
else
|
184
|
-
self.new(locale, data)
|
185
|
-
end
|
186
|
-
end
|
187
|
-
end
|
188
|
-
end
|
189
|
-
end
|
data/lib/maguire/version.rb~
DELETED