localize_multi_digit 1.0 → 2.0

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.
data/init.rb ADDED
@@ -0,0 +1,8 @@
1
+ require File.dirname(File.dirname(__FILE__)) + "/lib/localize_multi_digit.rb"
2
+
3
+ $ld = LocalizedDigits::Base.new(File.dirname(File.dirname(__FILE__)) + "/localized_digits.yml")
4
+
5
+
6
+ [String, Fixnum, Float, Date, Time].each do |item|
7
+ item.send(:include, LocalizeMultiDigit)
8
+ end
@@ -4,18 +4,9 @@
4
4
  # Fixnum, Float, String, Date, Time and DateTime class will be extended by this module
5
5
  #
6
6
  module LocalizeMultiDigit
7
-
8
- # Returns String
9
- # Converts to Bangla digits only when applied to Fixnum, Float, String, Date, Time and DateTime object
10
-
11
- def self.to_ld(text)
12
- item = text || ""
13
- digit_map = {
14
- :bn => {'0' => '০', '1' => '১', '2' => "২", '3' => '৩', '4' => '৪', '5' => '৫', '6' => '৬', '7' => '৭', '8' => '৮', '9' => '৯'},
15
- :en => {'0' => '0', '1' => '1', '2' => "2", '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9'},
16
- :ar => {'0' => '٠', '1' => '١', '2' => "٢", '3' => '٣', '4' => '٤', '5' => '٥', '6' => '٦', '7' => '٧', '8' => '٨', '9' => '٩'},
17
- :hn => {'0' => '०', '1' => '१', '2' => "२", '3' => '३', '4' => '४', '5' => '५', '6' => '६', '7' => '७', '8' => '८', '9' => '९'}
18
- }
7
+ def to_ld
8
+ item = self
9
+ digit_map = $ld.get_localized_digits["digits"]
19
10
  translated_item = ""
20
11
  begin
21
12
  locale = I18n.locale
@@ -24,11 +15,24 @@ module LocalizeMultiDigit
24
15
  end
25
16
  item.to_s.split("").each do |c|
26
17
  if c.to_i > 0 || c == '0'
27
- translated_item += digit_map[locale][c]
18
+ translated_item += digit_map[locale.to_s][c]
28
19
  else
29
- translated_item += c
20
+ translated_item += c
30
21
  end
31
22
  end
32
23
  return translated_item
33
24
  end
34
25
  end
26
+
27
+
28
+ module LocalizedDigits
29
+ require 'yaml'
30
+ class Base
31
+ def initialize(yml_file)
32
+ @digits = YAML.load_file("#{Rails.root}/config/locales/localized_digits.yml") rescue YAML.load_file(yml_file)
33
+ end
34
+ def get_localized_digits
35
+ @digits
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,36 @@
1
+ digits:
2
+ en:
3
+ '0': '0'
4
+ '1': '1'
5
+ '2': '2'
6
+ '3': '3'
7
+ '4': '4'
8
+ '5': '5'
9
+ '6': '6'
10
+ '7': '7'
11
+ '8': '8'
12
+ '9': '9'
13
+
14
+ bn:
15
+ '0': '০'
16
+ '1': '১'
17
+ '2': '২'
18
+ '3': '৩'
19
+ '4': '৪'
20
+ '5': '৫'
21
+ '6': '৬'
22
+ '7': '৭'
23
+ '8': '৮'
24
+ '9': '৯'
25
+
26
+ ar:
27
+ '0': '٠'
28
+ '1': '١'
29
+ '2': '٢'
30
+ '3': '٣'
31
+ '4': '٤'
32
+ '5': '٥'
33
+ '6': '٦'
34
+ '7': '٧'
35
+ '8': '٨'
36
+ '9': '٩'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: localize_multi_digit
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: '2.0'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,12 +12,14 @@ cert_chain: []
12
12
  date: 2013-10-21 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description:
15
- email:
15
+ email: barek2k2@gmail.com
16
16
  executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - lib/localize_multi_digit.rb
21
+ - init.rb
22
+ - localized_digits.yml
21
23
  homepage:
22
24
  licenses: []
23
25
  post_install_message:
@@ -41,5 +43,5 @@ rubyforge_project:
41
43
  rubygems_version: 1.8.17
42
44
  signing_key:
43
45
  specification_version: 3
44
- summary: localize_multi_digit localizes digits
46
+ summary: localize_multi_digit localizes digits from a string
45
47
  test_files: []