persian 0.0.0 → 0.2.2

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.
@@ -0,0 +1,129 @@
1
+ # -*- coding: UTF-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'persian number methods' do
6
+ it 'should convert english numbers ( numeric ) to persian numbers' do
7
+ before = 1_000
8
+ after = '۱۰۰۰'
9
+ expect(Persian::Number.number(before)).to eq(after)
10
+ end
11
+
12
+ it 'should convert english numbers (string) to persian numbers' do
13
+ before = '1234567890'
14
+ after = '۱۲۳۴۵۶۷۸۹۰'
15
+ expect(Persian::Number.number(before)).to eq(after)
16
+ end
17
+
18
+ it 'should convert arabic numbers to persian numbers' do
19
+ before = '٠١٢٣٤٥٦٧٨٩'
20
+ after = '۰۱۲۳۴۵۶۷۸۹'
21
+ expect(Persian::Number.number(before)).to eq(after)
22
+ end
23
+
24
+ it 'should convert arabic and english numbers in strings to persian numbers' do
25
+ before = 'عدد 1 و ٥ دو عدد زیبا هستند'
26
+ after = 'عدد ۱ و ۵ دو عدد زیبا هستند'
27
+ expect(Persian::Number.number(before)).to eq(after)
28
+ end
29
+
30
+ it 'should convert english numbers ( numeric ) to arabic numbers' do
31
+ before = 1_000
32
+ after = '١٠٠٠'
33
+ expect(Persian::Number.number(before, lang: 'ar')).to eq(after)
34
+ end
35
+
36
+ it 'should convert english numbers (string) to arabic numbers' do
37
+ before = '1234567890'
38
+ after = '١٢٣٤٥٦٧٨٩٠'
39
+ expect(Persian::Number.number(before, lang: 'ar')).to eq(after)
40
+ end
41
+
42
+ it 'should convert persian numbers to arabic numbers' do
43
+ before = '۰۱۲۳۴۵۶۷۸۹'
44
+ after = '٠١٢٣٤٥٦٧٨٩'
45
+ expect(Persian::Number.number(before, lang: 'ar')).to eq(after)
46
+ end
47
+
48
+ it 'should convert persian and english numbers in strings to arabic numbers' do
49
+ before = 'عدد 1 و ۵ دو عدد زیبا هستند'
50
+ after = 'عدد ١ و ٥ دو عدد زیبا هستند'
51
+ expect(Persian::Number.number(before, lang: 'ar')).to eq(after)
52
+ end
53
+
54
+ it 'should convert english numbers ( numeric ) to english numbers (string)' do
55
+ before = 1_000
56
+ after = '1000'
57
+ expect(Persian::Number.number(before, lang: 'en')).to eq(after)
58
+ end
59
+
60
+ it 'should convert arabic numbers (string) to english numbers' do
61
+ before = '١٢٣٤٥٦٧٨٩٠'
62
+ after = '1234567890'
63
+ expect(Persian::Number.number(before, lang: 'en')).to eq(after)
64
+ end
65
+
66
+ it 'should convert persian numbers to english numbers' do
67
+ before = '۰۱۲۳۴۵۶۷۸۹'
68
+ after = '0123456789'
69
+ expect(Persian::Number.number(before, lang: 'en')).to eq(after)
70
+ end
71
+
72
+ it 'should convert persian and arabic numbers in strings to english numbers' do
73
+ before = 'عدد ۱ و ٥ دو عدد زیبا هستند'
74
+ after = 'عدد 1 و 5 دو عدد زیبا هستند'
75
+ expect(Persian::Number.number(before, lang: 'en')).to eq(after)
76
+ end
77
+
78
+ it 'should convert english numbers ( numeric ) to english numbers (int)' do
79
+ before = 1000
80
+ after = 1_000
81
+ expect(Persian::Number.number(before, lang: 'en', return: 'int')).to eq(after)
82
+ end
83
+
84
+ it 'should convert arabic numbers (string) to english numbers (int)' do
85
+ before = '١٢٣٤٥٦٧٨٩٠'
86
+ after = 1_234_567_890
87
+ expect(Persian::Number.number(before, lang: 'en', return: 'int')).to eq(after)
88
+ end
89
+
90
+ it 'should convert persian numbers to english numbers (int)' do
91
+ before = '۰۱۲۳۴۵۶۷۸۹'
92
+ after = 123_456_789
93
+ expect(Persian::Number.number(before, lang: 'en', return: 'int')).to eq(after)
94
+ end
95
+
96
+ it 'should convert any number to persian number' do
97
+ before = '1234567890'
98
+ after = '۱۲۳۴۵۶۷۸۹۰'
99
+
100
+ expect(Persian::Number.to_persian(before)).to eq(after)
101
+ end
102
+
103
+ it 'should convert any number to english number' do
104
+ before = '١٢٣٤٥٦٧٨٩٠'
105
+ after = '1234567890'
106
+
107
+ expect(Persian::Number.to_english(before)).to eq(after)
108
+ end
109
+
110
+ it 'should convert any number to arabic number' do
111
+ before = '1234567890'
112
+ after = '١٢٣٤٥٦٧٨٩٠'
113
+
114
+ expect(Persian::Number.to_arabic(before)).to eq(after)
115
+ end
116
+
117
+ it 'should return a random number in persian' do
118
+ range = 20
119
+
120
+ expect(Persian::Number.number(Persian::Number.random(range), lang: 'en', return: 'int')).to be <= range
121
+ end
122
+
123
+ it 'should return integer of any number' do
124
+ before = '۱۲۳۴۵۶۷۸۹۰'
125
+ after = 1_234_567_890
126
+
127
+ expect(Persian::Number.to_i(before)).to eq(after)
128
+ end
129
+ end
@@ -0,0 +1,7 @@
1
+ # -*- coding: UTF-8 -*-
2
+
3
+ require 'persian'
4
+
5
+ RSpec.configure do |config|
6
+ config.tty = true
7
+ end
data/spec/text_spec.rb ADDED
@@ -0,0 +1,258 @@
1
+ # -*- coding: UTF-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'persian character methods' do
6
+ it 'should convert arbaic characters to persian characters' do
7
+ before = 'ملوك'
8
+ after = 'ملوک'
9
+ expect(Persian::Text.character(before)).to eq(after)
10
+ end
11
+
12
+ it 'should remove redundent spaces in strings' do
13
+ before = 'سلام من به تو یار قدیمی'
14
+ after = 'سلام من به تو یار قدیمی'
15
+ expect(Persian::Text.remove_extra_spaces(before)).to eq(after)
16
+ end
17
+
18
+ it 'should remove all arabic harekats from strings' do
19
+ before = 'مَتَی ما تَلْقَ مَنْ تَهْوَی دَعِ الدُّنیا وأهْْمِلْها'
20
+ after = 'متی ما تلق من تهوی دع الدنیا وأهملها'
21
+ expect(Persian::Text.remove_harekats(before)).to eq(after)
22
+ end
23
+
24
+ it 'should remove all brackets from text' do
25
+ before = 'سلام من به «تو»'
26
+ after = 'سلام من به تو'
27
+ expect(Persian::Text.remove_brackets(before)).to eq(after)
28
+ end
29
+
30
+ it 'should remove all signs from text' do
31
+ before = 'مسلمان و دروغ؟!'
32
+ after = 'مسلمان و دروغ'
33
+ expect(Persian::Text.remove_signs(before)).to eq(after)
34
+ end
35
+
36
+ it 'should replace all zwnjs with space ' do
37
+ before = 'من‌در‌نیم‌فاصله‌ات‌اسیرم'
38
+ after = 'من در نیم فاصله ات اسیرم'
39
+
40
+ expect(Persian::Text.replace_zwnj_with_space(before)).to eq(after)
41
+ end
42
+
43
+ it 'should replace [ & ], { & }, ( & ), " & " with « & »' do
44
+ before_first = 'اگر اراده ای نباشد عشقی نیست. "گاندی"'
45
+ after_first = 'اگر اراده ای نباشد عشقی نیست. «گاندی»'
46
+
47
+ before_second = 'اگر اراده ای نباشد عشقی نیست. [گاندی]'
48
+ after_second = 'اگر اراده ای نباشد عشقی نیست. «گاندی»'
49
+
50
+ before_third = 'اگر اراده ای نباشد عشقی نیست. (گاندی)'
51
+ after_third = 'اگر اراده ای نباشد عشقی نیست. «گاندی»'
52
+
53
+ before_forth = 'اگر اراده ای نباشد عشقی نیست. {گاندی}'
54
+ after_forth = 'اگر اراده ای نباشد عشقی نیست. «گاندی»'
55
+
56
+ expect(Persian::Text.general_brackets(before_first)).to eq(after_first)
57
+ expect(Persian::Text.general_brackets(before_second)).to eq(after_second)
58
+ expect(Persian::Text.general_brackets(before_third)).to eq(after_third)
59
+ expect(Persian::Text.general_brackets(before_forth)).to eq(after_forth)
60
+ end
61
+
62
+ it 'should replace "&" with ( & )' do
63
+ before = 'اگر اراده ای نباشد عشقی نیست. "گاندی"'
64
+ after = 'اگر اراده ای نباشد عشقی نیست. (گاندی)'
65
+ expect(Persian::Text.general_brackets(before, '(', ')')).to eq(after)
66
+ end
67
+
68
+ it 'should add ی after names that ends with ا, و, ه' do
69
+ before_first = 'داریوش'
70
+ after_first = 'داریوش'
71
+
72
+ before_second = 'حیفا'
73
+ after_second = 'حیفا‌ی'
74
+
75
+ before_third = 'الهه'
76
+ after_third = 'الهه‌ی'
77
+
78
+ expect(Persian::Text.fix_y_after_vowel(before_first)).to eq(after_first)
79
+ expect(Persian::Text.fix_y_after_vowel(before_second)).to eq(after_second)
80
+ expect(Persian::Text.fix_y_after_vowel(before_third)).to eq(after_third)
81
+ end
82
+
83
+ it 'should replace english characters with it\'s same key persian characters on keyboard' do
84
+ before = ';ajd k,p'
85
+ after = 'کشتی نوح'
86
+ expect(Persian::Text.english_to_persian_char(before)).to eq(after)
87
+ end
88
+
89
+ it 'should replace persian characters with it\'s same key english characters on keyboard' do
90
+ before = 'لخخلمث.زخپ'
91
+ after = 'google.com'
92
+ expect(Persian::Text.persian_to_english_char(before)).to eq(after)
93
+ end
94
+
95
+ it 'should replace space with zwnj after می and نمی' do
96
+ mi_before = 'بچه ها نگاه می کنند'
97
+ mi_after = 'بچه ها نگاه می‌کنند'
98
+
99
+ nmi_before = 'هنوز واژه‌ها درد را نمی فهمند.'
100
+ nmi_after = 'هنوز واژه‌ها درد را نمی‌فهمند.'
101
+
102
+ expect(Persian::Text.replace_zwnj_mi(mi_before)).to eq(mi_after)
103
+ expect(Persian::Text.replace_zwnj_mi(nmi_before)).to eq(nmi_after)
104
+ end
105
+
106
+ it 'should Resplace ست with \sاست if lastest character before \s is ا' do
107
+ first_before = 'امروز، فردا است.'
108
+ first_after = 'امروز، فرداست.'
109
+
110
+ second_before = 'نام او علی است.'
111
+ second_after = 'نام او علی است.'
112
+
113
+ expect(Persian::Text.ast(first_before)).to eq(first_after)
114
+ expect(Persian::Text.ast(second_before)).to eq(second_after)
115
+ end
116
+
117
+ it 'should remove keshide characters' do
118
+ before = 'سلـــــــــــــــــــام چطوری؟'
119
+ after = 'سلام چطوری؟'
120
+ expect(Persian::Text.keshide(before)).to eq(after)
121
+ end
122
+
123
+ it 'should replace ئ with ی if next character is ی' do
124
+ before = 'پائیز'
125
+ after = 'پاییز'
126
+ expect(Persian::Text.replace_e_y(before)).to eq(after)
127
+ end
128
+
129
+ it 'should replace 3 or more dots (.) with (…) character' do
130
+ before = 'خدانگهدار...'
131
+ after = 'خدانگهدار…'
132
+ expect(Persian::Text.three_dots(before)).to eq(after)
133
+ end
134
+
135
+ it 'should fix zwnj for تر - تری - ترین - ها - های suffixes' do
136
+ before = 'آن زیبا ترین رویا'
137
+ after = 'آن زیبا‌ترین رویا'
138
+ expect(Persian::Text.suffix(before)).to eq(after)
139
+ end
140
+
141
+ it 'should remove extra persian question marks' do
142
+ before = 'چی؟؟؟؟'
143
+ after = 'چی؟'
144
+ expect(Persian::Text.remove_extra_question_mark(before)).to eq(after)
145
+ end
146
+
147
+ it 'should add zero-width none-joiner to specific index in string' do
148
+ before = 'دوستهایم'
149
+ after = 'دوست‌هایم'
150
+ expect(Persian::Text.add_zwnj(before, 4)).to eq(after)
151
+ end
152
+
153
+ it 'should remove extra question and exclamation marks' do
154
+ before = 'نه بابا ؟؟!!!!!!!!!!!!!'
155
+ after = 'نه بابا ؟!'
156
+
157
+ expect(Persian::Text.remove_question_exclamation(before)).to eq(after)
158
+ end
159
+
160
+ it 'should remove stopwords from text' do
161
+ before = 'چوب در آب افتاد'
162
+ after = 'چوب آب افتاد'
163
+
164
+ expect(Persian::Text.remove_stopwords(before)).to eq(after)
165
+ end
166
+
167
+ it 'should remove space before noghtevirgool' do
168
+ before = 'تصور برخی از اعضای انجمن نسبت به تهران کاملا متفاوت با قبل شده است ؛ آنها فکر می‌کردند که تهران یک بیابان و منطقه‌ای بی امکانات است.'
169
+ after = 'تصور برخی از اعضای انجمن نسبت به تهران کاملا متفاوت با قبل شده است؛ آنها فکر می‌کردند که تهران یک بیابان و منطقه‌ای بی امکانات است.'
170
+
171
+ expect(Persian::Text.remove_space_noghtevirgool(before)).to eq(after)
172
+ end
173
+
174
+ it 'should remove extra persian signs after noghtevirgool' do
175
+ before = 'آهان این شد؛!'
176
+ after = 'آهان این شد؛'
177
+
178
+ expect(Persian::Text.remove_signs_after_noghtevirgool(before)).to eq(after)
179
+ end
180
+
181
+ it 'should add space after noghtevirgool' do
182
+ before = 'آهان این شد؛بیا بریم'
183
+ after = 'آهان این شد؛ بیا بریم'
184
+
185
+ expect(Persian::Text.space_after_noghtevirgool(before)).to eq(after)
186
+ end
187
+
188
+ it 'should replace noghtevirgool`s at the end of paragraphs with dot' do
189
+ before_first = 'این آخر کار است؛'
190
+ after_first = 'این آخر کار است.'
191
+
192
+ expect(Persian::Text.remove_noghtevirgool_para_end(before_first)).to eq(after_first)
193
+ end
194
+
195
+ it 'should remove noghtevirgool after brackets' do
196
+ before = 'این یک مثال(؛برای تست) است'
197
+ after = 'این یک مثال(برای تست) است'
198
+
199
+ expect(Persian::Text.remove_noghtevirgool_baz_start(before)).to eq(after)
200
+ end
201
+
202
+ it 'should remove spaces before virgool' do
203
+ before = 'لئوناردو یک نقاش پرکار نبود ، در حقیقت او پرکارترین نقشه‌کش و طراح بود.'
204
+ after = 'لئوناردو یک نقاش پرکار نبود، در حقیقت او پرکارترین نقشه‌کش و طراح بود.'
205
+
206
+ expect(Persian::Text.remove_space_before_virgool(before)).to eq(after)
207
+ end
208
+
209
+ it 'should remove extra signs after virgool' do
210
+ before = 'لئوناردو یک نقاش پرکار نبود، !در حقیقت او پرکارترین نقشه‌کش و طراح بود.'
211
+ after = 'لئوناردو یک نقاش پرکار نبود، در حقیقت او پرکارترین نقشه‌کش و طراح بود.'
212
+
213
+ expect(Persian::Text.remove_signs_after_virgool(before)).to eq(after)
214
+ end
215
+
216
+ it 'should add space after virgool if missing' do
217
+ before = 'لئوناردو یک نقاش پرکار نبود،در حقیقت او پرکارترین نقشه‌کش و طراح بود.'
218
+ after = 'لئوناردو یک نقاش پرکار نبود، در حقیقت او پرکارترین نقشه‌کش و طراح بود.'
219
+
220
+ expect(Persian::Text.space_after_virgool(before)).to eq(after)
221
+ end
222
+
223
+ it 'should remove specific character from every words in text' do
224
+ before = 'این برای پاک کردن نون است'
225
+ char = 'ن'
226
+ after = 'ای برای پاک کرد و است'
227
+
228
+ expect(Persian::Text.rm_char(before, char)).to eq(after)
229
+ end
230
+
231
+ it 'should replace end of line virgool with dot' do
232
+ text = 'جمله با ویرگول پایان نمیپذیرد،'
233
+ after = 'جمله با ویرگول پایان نمیپذیرد.'
234
+
235
+ expect(Persian::Text.rm_virgool_in_end(text)).to eq(after)
236
+ end
237
+
238
+ it 'should add space after dot\'s ends with no space character' do
239
+ text = 'سلام.اسپیس کو؟'
240
+ after = 'سلام. اسپیس کو؟'
241
+ expect(Persian::Text.space_after_dot(text)).to eq(after)
242
+ end
243
+
244
+ it 'should remove all repeated characters from text' do
245
+ text = 'سلااااااام.چی میکنییی؟؟؟؟؟'
246
+ after = 'سلام.چی میکنی؟'
247
+
248
+ expect(Persian::Text.squeeze(text)).to eq(after)
249
+ end
250
+
251
+ it 'should remove text postfix' do
252
+ text = 'پسره'
253
+ postfix = 'ه'
254
+ result = 'پسر'
255
+
256
+ expect(Persian::Text.remove_postfix(text, postfix)).to eq(result)
257
+ end
258
+ end
@@ -0,0 +1,31 @@
1
+ # -*- coding: UTF-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'persian tokenizers' do
6
+ it 'should return list of words and special persian characters ' do
7
+ before = 'آیا روزی به اسرار این اتفاقات ماوراء طبیعی، این انعکاس سایهٔ روح که در حالت اغماء و برزخ بین خواب و بیداری جلوه می‌کند کسی پی خواهد برد؟'
8
+ after = ['آیا', 'روزی', 'به', 'اسرار', 'این', 'اتفاقات', 'ماوراء', 'طبیعی', '،', 'این', 'انعکاس', 'سایهٔ', 'روح', 'که', 'در', 'حالت', 'اغماء', 'و', 'برزخ', 'بین', 'خواب', 'و', 'بیداری', 'جلوه', 'می‌کند', 'کسی', 'پی', 'خواهد', 'برد', '؟']
9
+
10
+ expect(Persian::Tokenizer.tokenize(before)).to eq(after)
11
+ end
12
+
13
+ it 'should tokenize as a serie' do
14
+ text = 'سلام من به تو یار قدیمی'
15
+ parts = 3
16
+ result = ['سلام من به', 'من به تو', 'به تو یار', 'تو یار قدیمی']
17
+
18
+ expect(Persian::Tokenizer.tokenize_more(text, parts)).to eq(result)
19
+ end
20
+
21
+ it 'should split paragraphs' do
22
+ text = "
23
+ یوهانس برامس در سال ۱۸۳۳ در شهر هامبورگ آلمان در خانواده‌ای فقیر به دنیا آمد. تحصیلات ابتدایی موسیقی را نزد پدرش که نوازنده کنترباس بود فرا گرفت.
24
+ برامس با ویولونیست‌های مشهوری چون رمنی و یواخیم آشنا شد و در طول این آشنایی بود که رمنی موسیقی محلی مجارستان را به برامس معرفی کرد و تحت تأثیر آن برامس رقص‌های مجار خود را نوشت.
25
+ "
26
+ result = ['یوهانس برامس در سال ۱۸۳۳ در شهر هامبورگ آلمان در خانواده‌ای فقیر به دنیا آمد. تحصیلات ابتدایی موسیقی را نزد پدرش که نوازنده کنترباس بود فرا گرفت.',
27
+ 'برامس با ویولونیست‌های مشهوری چون رمنی و یواخیم آشنا شد و در طول این آشنایی بود که رمنی موسیقی محلی مجارستان را به برامس معرفی کرد و تحت تأثیر آن برامس رقص‌های مجار خود را نوشت.']
28
+
29
+ expect(Persian::Tokenizer.split_paragraphs(text)).to eq(result)
30
+ end
31
+ end
@@ -0,0 +1,25 @@
1
+ # -*- coding: UTF-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'persian character methods' do
6
+ it 'should return unicode character from codepoint hex' do
7
+ codepoint = 0x062B
8
+ char = 'ث'
9
+
10
+ expect(Persian::Unicode.codepoint_to_char(codepoint)).to eq(char)
11
+ end
12
+
13
+ it 'should return text between RIGHT-TO-LETF EMBEDDING(U+202B) and Pop Directional Format(U+202C)' do
14
+ before = 'مست+'
15
+ after = '‫مست+‬'
16
+ expect(Persian::Unicode.rle(before)).to eq(after)
17
+ end
18
+
19
+ it 'should text between return LETF-TO-RIGHT EMBEDDING(U+202A) and Pop Directional Format(U+202C)' do
20
+ before = 'من c++ بلدم'
21
+ after = '‪من c++ بلدم‬'
22
+
23
+ expect(Persian::Unicode.lre(before)).to eq(after)
24
+ end
25
+ end
data/spec/url_spec.rb ADDED
@@ -0,0 +1,11 @@
1
+ # -*- coding: UTF-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'persian url normalizer methods' do
6
+ it 'should normalize persian text fo use in url' do
7
+ text = '«دونالد ترامپ» پیروز انتخابات ایالات متحده شد'
8
+ normal = 'دونالد-ترامپ-پیروز-انتخابات-ایالات-متحده-شد'
9
+ expect(Persian::Url.urlify(text)).to eq(normal)
10
+ end
11
+ end
metadata CHANGED
@@ -1,38 +1,70 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: persian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dariush Abbasi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-03 00:00:00.000000000 Z
11
+ date: 2022-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '3.4'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
27
- description: ''
26
+ version: '3.4'
27
+ description: A set of utilities for Persian language.
28
28
  email: poshtehani@gmail.com
29
29
  executables: []
30
30
  extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
+ - ".editorconfig"
34
+ - ".gitignore"
35
+ - ".rspec"
36
+ - ".rubocop.yml"
37
+ - ".travis.yml"
38
+ - Gemfile
39
+ - Rakefile
33
40
  - lib/persian.rb
41
+ - lib/persian/counter.rb
42
+ - lib/persian/date.rb
43
+ - lib/persian/dynamic.rb
44
+ - lib/persian/list/alphabet.rb
45
+ - lib/persian/list/character.rb
46
+ - lib/persian/list/homonyms.rb
47
+ - lib/persian/list/number.rb
48
+ - lib/persian/num_text.rb
49
+ - lib/persian/number.rb
50
+ - lib/persian/text/keyboard.rb
51
+ - lib/persian/text/text.rb
52
+ - lib/persian/tokenizer.rb
53
+ - lib/persian/unicode.rb
54
+ - lib/persian/url.rb
34
55
  - lib/persian/version.rb
35
- homepage: http://github.com/goonia/persian
56
+ - persian.gemspec
57
+ - readme.md
58
+ - spec/counter_spec.rb
59
+ - spec/dynamic_spec.rb
60
+ - spec/num_text_spec.rb
61
+ - spec/number_spec.rb
62
+ - spec/spec_helper.rb
63
+ - spec/text_spec.rb
64
+ - spec/tokenizer_spec.rb
65
+ - spec/unicode_spec.rb
66
+ - spec/url_spec.rb
67
+ homepage: http://github.com/dariubs/persian.rb
36
68
  licenses:
37
69
  - MIT
38
70
  metadata: {}
@@ -51,10 +83,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
83
  - !ruby/object:Gem::Version
52
84
  version: '0'
53
85
  requirements: []
54
- rubyforge_project:
55
- rubygems_version: 2.4.6
86
+ rubygems_version: 3.2.5
56
87
  signing_key:
57
88
  specification_version: 4
58
- summary: Persian language set of utilities.
89
+ summary: Persian language for ruby.
59
90
  test_files: []
60
- has_rdoc: