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.
Files changed (5) hide show
  1. data/LICENSE +1 -1
  2. data/Rakefile +3 -1
  3. data/lib/fk_str.rb +20 -0
  4. metadata +5 -5
  5. data/test/test_fk_str.rb +0 -264
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Guilherme Baptista
1
+ Copyright (c) 2013 Guilherme Baptista
2
2
  https://github.com/gbaptista/fk_str
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
data/Rakefile CHANGED
@@ -1,7 +1,9 @@
1
1
  require 'rake/testtask'
2
2
 
3
3
  Rake::TestTask.new do |t|
4
- t.libs << 'test'
4
+
5
+ t.test_files = FileList['test/test_*.rb']
6
+
5
7
  end
6
8
 
7
9
  desc 'Run tests'
@@ -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.2
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: 2012-12-25 00:00:00.000000000 Z
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: '0'
36
+ version: 1.9.3
37
37
  required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  none: false
39
39
  requirements:
@@ -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