arabic 0.1.4 → 0.1.5

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: b77f49d8952080c3ff08c12e0e7a239f184063b67c53a6e9ba7425c41e065437
4
- data.tar.gz: 669105f95e1112c4251387c3e7626b8429e29da00f06cf26e8b83db8103e724d
3
+ metadata.gz: 45ade00a1b59005be9d22aafad471c3459437f77dd8d41c275863f84ac833f13
4
+ data.tar.gz: 2d56d80deaaf3c58eedab3c8ecdf5648d6fe6badda90daea880ae742f639d8ea
5
5
  SHA512:
6
- metadata.gz: 351769d55bbd96a25519b8e39359faf7cf677fa49fd4c4f7950b69e7ea1eb724694bb9157dbc55d8bec16f3409346d0ea9e362add2d5276ca92196b18f75675e
7
- data.tar.gz: 7bdb8b27918d8da1ac108417e22c94306443fe49b764ddc6e3afc246b41421504520c1e76bfd1873f2cd80d4b000422455ade0bc88b817451620eed8be449aa9
6
+ metadata.gz: 2f93800fb207b5db163264b86ad23e04e2bd794c571a26b462ff44a8c36af68a8c3112471b35866259325e49378b5d6de15f9483ff4c75b8fb8703fcc75622b1
7
+ data.tar.gz: a5995be703ba9a78fd91f3ddef5b4c73a0ce6583161d0a32425b42a7bbc9ac353813003439ee5a62b3ce6096d005f09a40dadfcb0a2a2f436562e22397c156e9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- arabic (0.1.4)
4
+ arabic (0.1.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,68 @@
1
+ module Urdu
2
+ CHARACTER_TABLE = {
3
+ # Numbers
4
+ "۰" => "0",
5
+ "۱" => "1",
6
+ "۲" => "2",
7
+ "۳" => "3",
8
+ "۴" => "4",
9
+ "۵" => "5",
10
+ "۶" => "6",
11
+ "۷" => "7",
12
+ "۸" => "8",
13
+ "۹" => "9",
14
+ # Punctuation
15
+ "،" => ",",
16
+ "؛" => ";",
17
+ "؟" => "?",
18
+ # Consonants (Letters of the Alphabet)
19
+ "ا" => "a",
20
+ "آ" => "aa",
21
+ "ب" => "b",
22
+ "پ" => "p",
23
+ "ت" => "t",
24
+ "ٹ" => "t",
25
+ "ث" => "s",
26
+ "ج" => "j",
27
+ "چ" => "c",
28
+ "ح" => "h",
29
+ "خ" => "kh",
30
+ "د" => "d",
31
+ "ڈ" => "d",
32
+ "ذ" => "z",
33
+ "ر" => "r",
34
+ "ڑ" => "r",
35
+ "ز" => "z",
36
+ "ژ" => "zh",
37
+ "س" => "s",
38
+ "ش" => "sh",
39
+ "ص" => "s",
40
+ "ض" => "z",
41
+ "ط" => "t",
42
+ "ظ" => "z",
43
+ "ع" => "‘",
44
+ "غ" => "gh",
45
+ "ف" => "f",
46
+ "ق" => "q",
47
+ "ک" => "k",
48
+ "گ" => "g",
49
+ "ل" => "l",
50
+ "م" => "m",
51
+ "ن" => "n",
52
+ "ں" => "n",
53
+ "و" => "v",
54
+ "ه" => "h",
55
+ "ﮨ" => "h",
56
+ "ﮩ" => "h",
57
+ "ہ" => "h",
58
+ "ھ" => "h",
59
+ "ء" => "'",
60
+ "ة" => "t",
61
+ "ی" => "i",
62
+ "ى" => "y",
63
+ "ئ" => "y",
64
+ "ے" => "e",
65
+ "ۂ" => "a",
66
+ "ؤ" => "o"
67
+ }
68
+ end
@@ -1,3 +1,3 @@
1
1
  module Arabic
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
data/lib/arabic.rb CHANGED
@@ -1,137 +1,71 @@
1
1
  require "arabic/version"
2
+ require "arabic/urdu"
2
3
 
3
4
  module Arabic
4
5
  CHARACTER_TABLE = {
5
- :arabic => {
6
- # Numbers
7
- "٠" => "0",
8
- "١" => "1",
9
- "٢" => "2",
10
- "٣" => "3",
11
- "٤" => "4",
12
- "٥" => "5",
13
- "٦" => "6",
14
- "٧" => "7",
15
- "۸" => "8",
16
- "٩" => "9",
17
- # Punctuation
18
- "،" => ",",
19
- "؛" => ";",
20
- "؟" => "?",
21
- # Consonants (Letters of the Alphabet)
22
- "ء" => "e",
23
- "آ" => "a",
24
- "أ" => "a",
25
- "ؤ" => "w",
26
- "إ" => "i",
27
- "ئ" => "y",
28
- "ا" => "a",
29
- "ب" => "b",
30
- "ة" => "t",
31
- "ت" => "t",
32
- "ث" => "th",
33
- "ج" => "j",
34
- "ح" => "h",
35
- "خ" => "kh",
36
- "د" => "d",
37
- "ذ" => "dh",
38
- "ر" => "r",
39
- "ز" => "z",
40
- "س" => "s",
41
- "ش" => "sh",
42
- "ص" => "s",
43
- "ض" => "d",
44
- "ط" => "t",
45
- "ظ" => "z",
46
- "ع" => "e",
47
- "غ" => "gh",
48
- "ف" => "f",
49
- "ق" => "q",
50
- "ك" => "k",
51
- "ل" => "l",
52
- "م" => "m",
53
- "ن" => "n",
54
- "ه" => "h",
55
- "و" => "w",
56
- "ى" => "a",
57
- "ي" => "y",
58
- "و‎" => "u",
59
- # Vowels and Diphthongs
60
- "َ‎" => "a",
61
- "ُ" => "u",
62
- "ِ‎" => "i"
63
- },
64
- :urdu => {
65
- # Numbers
66
- "۰" => "0",
67
- "۱" => "1",
68
- "۲" => "2",
69
- "۳" => "3",
70
- "۴" => "4",
71
- "۵" => "5",
72
- "۶" => "6",
73
- "۷" => "7",
74
- "۸" => "8",
75
- "۹" => "9",
76
- # Punctuation
77
- "،" => ",",
78
- "؛" => ";",
79
- "؟" => "?",
80
- # Consonants (Letters of the Alphabet)
81
- "ا" => "a",
82
- "آ" => "aa",
83
- "ب" => "b",
84
- "پ" => "p",
85
- "ت" => "t",
86
- "ٹ" => "t",
87
- "ث" => "s",
88
- "ج" => "j",
89
- "چ" => "c",
90
- "ح" => "h",
91
- "خ" => "kh",
92
- "د" => "d",
93
- "ڈ" => "d",
94
- "ذ" => "z",
95
- "ر" => "r",
96
- "ڑ" => "r",
97
- "ز" => "z",
98
- "ژ" => "zh",
99
- "س" => "s",
100
- "ش" => "sh",
101
- "ص" => "s",
102
- "ض" => "z",
103
- "ط" => "t",
104
- "ظ" => "z",
105
- "ع" => "‘",
106
- "غ" => "gh",
107
- "ف" => "f",
108
- "ق" => "q",
109
- "ک" => "k",
110
- "گ" => "g",
111
- "ل" => "l",
112
- "م" => "m",
113
- "ن" => "n",
114
- "ں" => "n",
115
- "و" => "v",
116
- "ه" => "h",
117
- "ﮨ" => "h",
118
- "ﮩ" => "h",
119
- "ہ" => "h",
120
- "ھ" => "h",
121
- "ء" => "'",
122
- "ة" => "t",
123
- "ی" => "i",
124
- "ى" => "y",
125
- "ئ" => "y",
126
- "ے" => "e",
127
- "ۂ" => "a",
128
- "ؤ" => "o"
129
- }
6
+ # Numbers
7
+ "٠" => "0",
8
+ "١" => "1",
9
+ "٢" => "2",
10
+ "٣" => "3",
11
+ "٤" => "4",
12
+ "٥" => "5",
13
+ "٦" => "6",
14
+ "٧" => "7",
15
+ "۸" => "8",
16
+ "٩" => "9",
17
+ # Punctuation
18
+ "،" => ",",
19
+ "؛" => ";",
20
+ "؟" => "?",
21
+ # Consonants (Letters of the Alphabet)
22
+ "ء" => "e",
23
+ "آ" => "a",
24
+ "أ" => "a",
25
+ "ؤ" => "w",
26
+ "إ" => "i",
27
+ "ئ" => "y",
28
+ "ا" => "a",
29
+ "ب" => "b",
30
+ "ة" => "t",
31
+ "ت" => "t",
32
+ "ث" => "th",
33
+ "ج" => "j",
34
+ "ح" => "h",
35
+ "خ" => "kh",
36
+ "د" => "d",
37
+ "ذ" => "dh",
38
+ "ر" => "r",
39
+ "ز" => "z",
40
+ "س" => "s",
41
+ "ش" => "sh",
42
+ "ص" => "s",
43
+ "ض" => "d",
44
+ "ط" => "t",
45
+ "ظ" => "z",
46
+ "ع" => "e",
47
+ "غ" => "gh",
48
+ "ف" => "f",
49
+ "ق" => "q",
50
+ "ك" => "k",
51
+ "ل" => "l",
52
+ "م" => "m",
53
+ "ن" => "n",
54
+ "ه" => "h",
55
+ "و" => "w",
56
+ "ى" => "a",
57
+ "ي" => "y",
58
+ "و‎" => "u",
59
+ # Vowels and Diphthongs
60
+ "َ‎" => "a",
61
+ "ُ" => "u",
62
+ "ِ‎" => "i"
130
63
  }
131
64
 
132
65
  class << self
133
- def transliterate(string="", lang=:arabic)
134
- string.to_s.gsub(Regexp.union(CHARACTER_TABLE[lang].keys.map(&:to_s)), CHARACTER_TABLE[lang])
66
+ def transliterate(string="", to=:arabic)
67
+ character_table = Module.const_get(to.to_s.capitalize)::CHARACTER_TABLE
68
+ string.to_s.gsub(/#{Regexp.union(character_table.keys).source}/i, character_table)
135
69
  end
136
70
  alias_method :t, :transliterate
137
71
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arabic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - rovetz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-05 00:00:00.000000000 Z
11
+ date: 2018-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -71,6 +71,7 @@ files:
71
71
  - bin/console
72
72
  - bin/setup
73
73
  - lib/arabic.rb
74
+ - lib/arabic/urdu.rb
74
75
  - lib/arabic/version.rb
75
76
  homepage: https://github.com/rovetz/arabic
76
77
  licenses: