fk_str 0.0.2 → 0.0.3
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/LICENSE +1 -1
- data/Rakefile +3 -1
- data/lib/fk_str.rb +20 -0
- metadata +5 -5
- data/test/test_fk_str.rb +0 -264
data/LICENSE
CHANGED
data/Rakefile
CHANGED
data/lib/fk_str.rb
CHANGED
@@ -76,6 +76,26 @@ module FkStr
|
|
76
76
|
|
77
77
|
end
|
78
78
|
|
79
|
+
def self.upcase w
|
80
|
+
|
81
|
+
return w if w.to_s == ''
|
82
|
+
|
83
|
+
# Cria uma Array apenas com os caracteres necessários por questões de performance.
|
84
|
+
letters = []
|
85
|
+
clean_word = self.remove_accents(w).downcase.gsub(/[^a-z]/, '')
|
86
|
+
clean_word.split('').uniq.each { |lt| @@letters_by_letter[lt].each { |l| letters << l } }
|
87
|
+
|
88
|
+
letters.each do |l|
|
89
|
+
|
90
|
+
# Transforma tudo em maiúsculo.
|
91
|
+
w = w.gsub l[0], l[1]
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
return w
|
96
|
+
|
97
|
+
end
|
98
|
+
|
79
99
|
def self.downcase w
|
80
100
|
|
81
101
|
return w if w.to_s == ''
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fk_str
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-19 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: String manipulation.
|
15
15
|
email: guilhermebaptistasilva@gmail.com
|
@@ -21,9 +21,9 @@ files:
|
|
21
21
|
- Rakefile
|
22
22
|
- lib/fk_str.rb
|
23
23
|
- lib/fk_str/dictionary.rb
|
24
|
-
- test/test_fk_str.rb
|
25
24
|
homepage: https://github.com/gbaptista/fk_str
|
26
|
-
licenses:
|
25
|
+
licenses:
|
26
|
+
- MIT
|
27
27
|
post_install_message:
|
28
28
|
rdoc_options: []
|
29
29
|
require_paths:
|
@@ -33,7 +33,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
34
34
|
- - ! '>='
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 1.9.3
|
37
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
38
|
none: false
|
39
39
|
requirements:
|
data/test/test_fk_str.rb
DELETED
@@ -1,264 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'test/unit'
|
4
|
-
require 'fk_str'
|
5
|
-
|
6
|
-
class FkStrTest < Test::Unit::TestCase
|
7
|
-
|
8
|
-
def test_treat_encoding
|
9
|
-
|
10
|
-
assert_equal(
|
11
|
-
'çUTF-8',
|
12
|
-
FkStr.treat_encoding("\xE7")+FkStr.treat_encoding("\xE7").encoding.to_s.upcase
|
13
|
-
)
|
14
|
-
|
15
|
-
assert_equal(
|
16
|
-
'©UTF-8',
|
17
|
-
FkStr.treat_encoding("\xC2\xA9")+FkStr.treat_encoding("\xC2\xA9").encoding.to_s.upcase
|
18
|
-
)
|
19
|
-
|
20
|
-
assert_equal(
|
21
|
-
'caçaUTF-8',
|
22
|
-
FkStr.treat_encoding("ca\xE7a")+FkStr.treat_encoding("ca\xE7a").encoding.to_s.upcase
|
23
|
-
)
|
24
|
-
|
25
|
-
assert_equal(
|
26
|
-
'casaUTF-8',
|
27
|
-
FkStr.treat_encoding('casa')+FkStr.treat_encoding('casa').encoding.to_s.upcase
|
28
|
-
)
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_is_eq
|
33
|
-
|
34
|
-
assert_equal(
|
35
|
-
true,
|
36
|
-
FkStr.is_eq('Hangar 110', 'Hangar 110', 40)
|
37
|
-
)
|
38
|
-
|
39
|
-
assert_equal(
|
40
|
-
true,
|
41
|
-
FkStr.is_eq('Armagedon + Atos de Vingança', 'Armagedom')
|
42
|
-
)
|
43
|
-
|
44
|
-
assert_equal(
|
45
|
-
false,
|
46
|
-
FkStr.is_eq('Gato Cat', 'Cachorro Dog')
|
47
|
-
)
|
48
|
-
|
49
|
-
assert_equal(
|
50
|
-
true,
|
51
|
-
FkStr.is_eq('Creedence Clearwater Revisited', 'Creedence Clearwater')
|
52
|
-
)
|
53
|
-
|
54
|
-
end
|
55
|
-
|
56
|
-
def test_to_slug
|
57
|
-
|
58
|
-
assert_equal(
|
59
|
-
'teste-dog',
|
60
|
-
FkStr.to_slug('teste:dog')
|
61
|
-
)
|
62
|
-
|
63
|
-
assert_equal(
|
64
|
-
'centro-rio-de-janeiro-rj',
|
65
|
-
FkStr.to_slug('Centro - Rio de Janeiro [RJ]')
|
66
|
-
)
|
67
|
-
|
68
|
-
assert_equal(
|
69
|
-
'sao-paulo-sp',
|
70
|
-
FkStr.to_slug('São Paulo/SP')
|
71
|
-
)
|
72
|
-
|
73
|
-
assert_equal(
|
74
|
-
'sao-paulo-sp',
|
75
|
-
FkStr.to_slug('São Paulo_SP')
|
76
|
-
)
|
77
|
-
|
78
|
-
end
|
79
|
-
|
80
|
-
def test_to_term
|
81
|
-
|
82
|
-
assert_equal(
|
83
|
-
'kasadujkakurururi',
|
84
|
-
FkStr.to_term('casa & dog and cachorro e lorem')
|
85
|
-
)
|
86
|
-
|
87
|
-
assert_equal(
|
88
|
-
'tistiduj',
|
89
|
-
FkStr.to_term('teste:de\dog')
|
90
|
-
)
|
91
|
-
|
92
|
-
assert_equal(
|
93
|
-
'saupauru',
|
94
|
-
FkStr.to_term('São Paulo-SP')
|
95
|
-
)
|
96
|
-
|
97
|
-
assert_equal(
|
98
|
-
'tistiduj',
|
99
|
-
FkStr.to_term('teste:de:dog')
|
100
|
-
)
|
101
|
-
|
102
|
-
end
|
103
|
-
|
104
|
-
def test_remove_accents
|
105
|
-
|
106
|
-
assert_equal(
|
107
|
-
'Sao Jose do Rio Preto - SP',
|
108
|
-
FkStr.remove_accents('São José do Rio Preto - SP')
|
109
|
-
)
|
110
|
-
|
111
|
-
assert_equal(
|
112
|
-
'Sao Paulo',
|
113
|
-
FkStr.remove_accents('São Paulo')
|
114
|
-
)
|
115
|
-
|
116
|
-
assert_equal(
|
117
|
-
'Acougue',
|
118
|
-
FkStr.remove_accents('Açougue')
|
119
|
-
)
|
120
|
-
|
121
|
-
assert_equal(
|
122
|
-
'Lorem Ipsum',
|
123
|
-
FkStr.remove_accents('Lôrém Ipsum')
|
124
|
-
)
|
125
|
-
|
126
|
-
end
|
127
|
-
|
128
|
-
def test_downcase
|
129
|
-
|
130
|
-
assert_equal(
|
131
|
-
'açúcar',
|
132
|
-
FkStr.downcase('AÇÚCAR')
|
133
|
-
)
|
134
|
-
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_upcasewords
|
138
|
-
|
139
|
-
assert_equal(
|
140
|
-
'Charlie Brown Jr.',
|
141
|
-
FkStr.upcasewords('CHARLIE BROWN JR.')
|
142
|
-
)
|
143
|
-
|
144
|
-
assert_equal(
|
145
|
-
'Coldplay',
|
146
|
-
FkStr.upcasewords('COLDPLAY')
|
147
|
-
)
|
148
|
-
|
149
|
-
assert_equal(
|
150
|
-
'Queensrÿche',
|
151
|
-
FkStr.upcasewords('QUEENSRŸCHE')
|
152
|
-
)
|
153
|
-
|
154
|
-
assert_equal(
|
155
|
-
'Mindflow',
|
156
|
-
FkStr.upcasewords('MINDFLOW')
|
157
|
-
)
|
158
|
-
|
159
|
-
end
|
160
|
-
|
161
|
-
def test_remove_if_ends_with
|
162
|
-
|
163
|
-
assert_equal(
|
164
|
-
'Natal La Barra',
|
165
|
-
FkStr.remove_if_ends_with(
|
166
|
-
'Natal La Barra - Caxias do Sul / RS',
|
167
|
-
['La Barra', 'Caxias do Sul', 'RS', '/', '-'],
|
168
|
-
['Natal'],
|
169
|
-
1
|
170
|
-
)
|
171
|
-
)
|
172
|
-
|
173
|
-
assert_equal(
|
174
|
-
'Natal La Barra -',
|
175
|
-
FkStr.remove_if_ends_with(
|
176
|
-
'Natal La Barra - Caxias do Sul / RS',
|
177
|
-
['La Barra', 'Caxias do Sul', 'RS', '/', '-'],
|
178
|
-
['Natal'],
|
179
|
-
2
|
180
|
-
)
|
181
|
-
)
|
182
|
-
|
183
|
-
assert_equal(
|
184
|
-
'Natal La Barra - Caxias do Sul',
|
185
|
-
FkStr.remove_if_ends_with(
|
186
|
-
'Natal La Barra - Caxias do Sul / RS',
|
187
|
-
['La Barra', 'Caxias do Sul', 'RS', '/', '-'],
|
188
|
-
['Natal'],
|
189
|
-
3
|
190
|
-
)
|
191
|
-
)
|
192
|
-
|
193
|
-
assert_equal(
|
194
|
-
'Masp',
|
195
|
-
FkStr.remove_if_ends_with('Masp São Paulo/SP', ['São Paulo', 'SP', '/'])
|
196
|
-
)
|
197
|
-
|
198
|
-
end
|
199
|
-
|
200
|
-
def test_extract_dates
|
201
|
-
|
202
|
-
assert_equal(
|
203
|
-
[Time.new(2012, 12, 6)].uniq.sort,
|
204
|
-
FkStr.extract_dates('December 06, 2012', Time.new(2012, 9, 12))
|
205
|
-
)
|
206
|
-
|
207
|
-
assert_equal(
|
208
|
-
[Time.new(2012, 9, 14)].uniq.sort,
|
209
|
-
FkStr.extract_dates('FRI 09.14.2012', Time.new(2012, 9, 12), true)
|
210
|
-
)
|
211
|
-
|
212
|
-
assert_equal(
|
213
|
-
[Time.new(2011, 12, 8), Time.new(2012, 1, 9)].uniq.sort,
|
214
|
-
FkStr.extract_dates('8/dez lorem 9/jan/2012', Time.new(2011, 10, 8))
|
215
|
-
)
|
216
|
-
|
217
|
-
assert_equal(
|
218
|
-
[Time.new(2012, 1, 2)].uniq.sort,
|
219
|
-
FkStr.extract_dates('2 de janeiro', Time.new(2011, 10, 8))
|
220
|
-
)
|
221
|
-
|
222
|
-
end
|
223
|
-
|
224
|
-
def test_extract_time
|
225
|
-
|
226
|
-
assert_equal(
|
227
|
-
Time.new(2011, 07, 14, 22, 18, 0),
|
228
|
-
FkStr.extract_time(
|
229
|
-
'Thu, 14 Jul 2011 22:18:49 +0000',
|
230
|
-
FkStr.extract_dates('Thu, 14 Jul 2011 22:18:49 +0000',Time.new(2012, 5, 28)).first,
|
231
|
-
Time.new(2012, 5, 28)
|
232
|
-
)
|
233
|
-
)
|
234
|
-
|
235
|
-
assert_equal(
|
236
|
-
Time.new(2011, 07, 14, 16, 15, 0),
|
237
|
-
FkStr.extract_time(
|
238
|
-
'14 Jul 2011 16:15',
|
239
|
-
FkStr.extract_dates('14 Jul 2011 16:15',Time.new(2012, 5, 28)).first,
|
240
|
-
Time.new(2012, 5, 28)
|
241
|
-
)
|
242
|
-
)
|
243
|
-
|
244
|
-
assert_equal(
|
245
|
-
Time.new(2011, 07, 14, 9, 0, 0),
|
246
|
-
FkStr.extract_time(
|
247
|
-
'14 Jul 2011 9:00',
|
248
|
-
FkStr.extract_dates('14 Jul 2011 9:00',Time.new(2012, 5, 28)).first,
|
249
|
-
Time.new(2012, 5, 28)
|
250
|
-
)
|
251
|
-
)
|
252
|
-
|
253
|
-
assert_equal(
|
254
|
-
Time.new(2011, 07, 14, 7, 35, 0),
|
255
|
-
FkStr.extract_time(
|
256
|
-
'14 Jul 2011 07:35',
|
257
|
-
FkStr.extract_dates('14 Jul 2011 07:35',Time.new(2012, 5, 28)).first,
|
258
|
-
Time.new(2012, 5, 28)
|
259
|
-
)
|
260
|
-
)
|
261
|
-
|
262
|
-
end
|
263
|
-
|
264
|
-
end
|