glasses 1.6.2 → 1.7.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/glasses.rb +254 -10
  3. data/lib/glasses/version.rb +1 -1
  4. data/spec/dummy/app/controllers/search_controller.rb +29 -17
  5. data/spec/dummy/app/views/search/full_raw_search_range.html.erb +0 -0
  6. data/spec/dummy/app/views/search/full_search.html.erb +0 -0
  7. data/spec/dummy/app/views/search/full_search_range.html.erb +0 -0
  8. data/spec/dummy/app/views/search/range_search.html.erb +30 -0
  9. data/spec/dummy/app/views/search/raw_full_search.html.erb +0 -0
  10. data/spec/dummy/app/views/search/raw_range_search.html.erb +25 -0
  11. data/spec/dummy/app/views/search/simple_search.html.erb +4 -2
  12. data/spec/dummy/config/routes.rb +3 -54
  13. data/spec/dummy/db/development.sqlite3 +0 -0
  14. data/spec/dummy/db/seeds.rb +2 -1
  15. data/spec/dummy/db/test.sqlite3 +0 -0
  16. data/spec/dummy/log/development.log +2628 -0
  17. data/spec/dummy/log/test.log +42280 -0
  18. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/-n4kyDOdRxiiiIJEFA9cId9azJmW5g6hmwbs8SJ4qRg.cache +1 -0
  19. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2SBt5E86bhaTcl7TkcrIXPVQyQtH9yIRArRC_UxPck4.cache +1 -0
  20. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2Tqd0MZWTPMTu8CoqlOCudnpF2UapAVb-1Qd3gZnzWs.cache +0 -0
  21. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4m7rzZ6NLrCLYY8Klx2qByvjsF9EwTrhkqhffC_ddIU.cache +1 -0
  22. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4wucpOHsDYdErjU4sC9i1FT33L-WRugEHtfQdiz-CXY.cache +0 -0
  23. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/AE40Tp96RkdOo7EhY00dhAOG17GUBn6QkZxp0HQVRQA.cache +2 -0
  24. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/CtIOdYL64ZUZ8_1ALDOZWNEis9WeBXUYTZ95MGCwJxk.cache +2 -0
  25. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/DMb_4zR5zBmQGRtZlXIrUCrkOrY-Wzw_ESjc3NoXX6s.cache +1 -0
  26. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/FfRbjoX7fHHQqnXiehqlD233T1kj4rzNPybfmQ_GUWI.cache +2 -0
  27. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/JlLKJj3SMeXmPLYJvdO955A6OPH9wSTWF3QFOvbaT0k.cache +2 -0
  28. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Mo_r4nJu9qt0iEhVH0CXGZkIh_SCKfu3LoDU6GlMT-U.cache +2 -0
  29. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/PjzZwmbYJUPXBPEKfYAIld32mtAk3H0hBz7ONWVqza4.cache +2 -0
  30. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QYBC6SiWic96YuGP27vORM8frM2yoCxYATSeAuu3q3s.cache +2 -0
  31. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QfZ4TPv_vTZ6WmGKJEhbsZ0Ou73XHsnuUlsaYV3ZQEY.cache +1 -0
  32. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XIp7H1NvI9qObEEUnVrJoJ0TgF9dsNRmdw7bkMLyf64.cache +1 -0
  33. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/aCkopDHgOZcXcLJcYI3sgc_SuAZhhr9RkRQshzmldF8.cache +1 -0
  34. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bkZWDwb871tTLoM-W80twc_qhQ_ziPfInIfbzCcLnpE.cache +1 -0
  35. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/gLJlx0p_IOKb7r9m3hjLdN2jGSicQ_Ns4SS1jWlFDAQ.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/i9TsnRfu6oqRsV9V2v_6Ulubst2IVveepQEkimUU6QE.cache +1 -0
  37. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/iEVE5Kzzv15cyQWfQGEbgnKSSO0xiblZzP-sO26AYGQ.cache +0 -0
  38. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/rRXYm5yDdh2lrn8etfERia5zGqWg3_cJ3siQQG6h9UU.cache +0 -0
  39. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/t3hd5M5Qs7xWqz8gFCvXf781-4lYaem1SZCLRh47qCc.cache +1 -0
  40. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/yHIJ2OseWB_qclWx7fwHLHPAVYOch64QqS8Y07WHhRk.cache +0 -0
  41. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/yuW5Zfj9wAku7kLsnPBHwLsetLDeWKm9ju_dm_GLgf0.cache +1 -0
  42. data/spec/features/full_search_form_test.rb +0 -0
  43. data/spec/features/range_search_form_test.rb +79 -0
  44. data/spec/features/search_performance_test_in_app.rb +0 -0
  45. data/spec/features/simple_search_form_test.rb +34 -9
  46. data/spec/glasses_spec.rb +8 -1
  47. data/spec/test_only_methods/example_only_methods.rb +65 -0
  48. data/spec/tests/full_search_test.rb +63 -0
  49. data/spec/tests/parameters_priority_test.rb +51 -0
  50. data/spec/tests/performance_test.rb +0 -0
  51. data/spec/tests/range_search_test.rb +43 -0
  52. data/spec/tests/sanitized_search_test.rb +19 -7
  53. data/spec/tests/search_test.rb +18 -8
  54. metadata +78 -4
  55. data/spec/scratches/example_only_methods.rb +0 -26
@@ -1,22 +1,34 @@
1
- describe Glasses do
2
-
3
1
  describe '.sanitized_search()' do
4
2
 
5
3
  it 'is vulnerable to SQL injection when totally unprotected' do
6
- results = Glasses.search(Player, {first_name: "' OR 1 = 1 ) --"})
4
+ results = Glasses.raw_search(Player, {first_name: "' OR 1 = 1 ) --"})
7
5
  (results.size).should == 10
8
6
  end
9
7
 
10
8
  it 'is not vulnerable to SQL injection when protected' do
11
- results = Glasses.sanitized_search(Player, {first_name: "' OR 1 = 1 ) --"})
9
+ results = Glasses.search(Player, {first_name: "' OR 1 = 1 ) --"})
12
10
  (results.size).should == 0
13
11
  end
14
12
 
15
13
  it 'correctly searches for a result in a sanitized_search' do
16
- results = Glasses.sanitized_search(Player, {first_name: "Jane"})
14
+ results = Glasses.search(Player, {first_name: "Jane"})
17
15
  (results.size).should == 1
18
16
  end
19
17
 
20
- end
18
+ #it 'ensures that search has best performance than sanitized_search' do
19
+ # start1 = Time.now
20
+ # Glasses.search(Player, {first_name: "Jane"})
21
+ # end1 = Time.now
22
+ # start2 = Time.now
23
+ # Glasses.sanitized_search(Player, {first_name: "Jane"})
24
+ # end2 = Time.now
25
+ # puts (end1.to_f * 1000.0).to_i
26
+ # puts ((start1.to_f) * 1000.0).to_i
27
+ # puts (end2.to_f * 1000.0).to_i
28
+ # puts ((start2.to_f) * 1000.0).to_i
29
+ # puts ((end1 - start1) * 1000).to_i
30
+ # puts ((end2.to_f - start2.to_f) * 1000.0).to_i
31
+ # ((end1 - start1) < (end2 - start2)).should == true
32
+ #end
21
33
 
22
- end
34
+ end
@@ -1,23 +1,33 @@
1
- describe Glasses do
2
-
3
1
  describe 'search' do
4
2
 
5
3
  it 'should search for an ActiveRecord model' do
6
-
7
4
  ((Glasses.search(Player,{first_name: "Jane"})).size).should == 1
8
-
9
5
  end
10
6
 
11
7
  it 'should search for an ActiveRecord model when input is only partial' do
12
-
13
8
  ((Glasses.search(Player,{first_name: "J"})).size).should == 2 # Jane & Jessica
14
-
15
9
  end
16
10
 
17
11
  it 'should return an empty array if no matches are found' do
18
12
  (Glasses.search(Player,{first_name: "HELLOOOOOOO IZE A PLAYAH"})).should == []
19
13
  end
20
14
 
21
- end
15
+ it 'should return an empty array if no matches are found' do
16
+ (Glasses.search(Player,{first_name: " "})).should == []
17
+ end
18
+
19
+ context 'search with boolean' do
20
+ it 'should search for an ActiveRecord model' do
21
+ ((Glasses.search(Player,{first_name: "Jane", is_virgin_bool: '1'})).size).should == 1
22
+ end
23
+
24
+ it 'should search for an ActiveRecord model when input is only partial' do
25
+ ((Glasses.search(Player,{first_name: "J", is_virgin_bool: '1'})).size).should == 2 # Jane & Jessica
26
+ end
27
+
28
+ it 'should return an empty array if no matches are found' do
29
+ (Glasses.search(Player,{first_name: "Bobby", is_virgin_bool: '1'}).size).should == 0
30
+ end
31
+ end
22
32
 
23
- end
33
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glasses
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.2
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Otávio Monteagudo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-26 00:00:00.000000000 Z
11
+ date: 2015-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -163,7 +163,13 @@ files:
163
163
  - spec/dummy/app/models/player.rb
164
164
  - spec/dummy/app/views/layouts/application.html.erb
165
165
  - spec/dummy/app/views/search/controller_sanitized_simple_search.html.erb
166
+ - spec/dummy/app/views/search/full_raw_search_range.html.erb
167
+ - spec/dummy/app/views/search/full_search.html.erb
168
+ - spec/dummy/app/views/search/full_search_range.html.erb
166
169
  - spec/dummy/app/views/search/method_sanitized_simple_search.html.erb
170
+ - spec/dummy/app/views/search/range_search.html.erb
171
+ - spec/dummy/app/views/search/raw_full_search.html.erb
172
+ - spec/dummy/app/views/search/raw_range_search.html.erb
167
173
  - spec/dummy/app/views/search/simple_search.html.erb
168
174
  - spec/dummy/bin/bundle
169
175
  - spec/dummy/bin/rails
@@ -202,6 +208,30 @@ files:
202
208
  - spec/dummy/public/500.html
203
209
  - spec/dummy/public/favicon.ico
204
210
  - spec/dummy/test/test_helper.rb
211
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/-n4kyDOdRxiiiIJEFA9cId9azJmW5g6hmwbs8SJ4qRg.cache
212
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2SBt5E86bhaTcl7TkcrIXPVQyQtH9yIRArRC_UxPck4.cache
213
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2Tqd0MZWTPMTu8CoqlOCudnpF2UapAVb-1Qd3gZnzWs.cache
214
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4m7rzZ6NLrCLYY8Klx2qByvjsF9EwTrhkqhffC_ddIU.cache
215
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4wucpOHsDYdErjU4sC9i1FT33L-WRugEHtfQdiz-CXY.cache
216
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/AE40Tp96RkdOo7EhY00dhAOG17GUBn6QkZxp0HQVRQA.cache
217
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/CtIOdYL64ZUZ8_1ALDOZWNEis9WeBXUYTZ95MGCwJxk.cache
218
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/DMb_4zR5zBmQGRtZlXIrUCrkOrY-Wzw_ESjc3NoXX6s.cache
219
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/FfRbjoX7fHHQqnXiehqlD233T1kj4rzNPybfmQ_GUWI.cache
220
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/JlLKJj3SMeXmPLYJvdO955A6OPH9wSTWF3QFOvbaT0k.cache
221
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Mo_r4nJu9qt0iEhVH0CXGZkIh_SCKfu3LoDU6GlMT-U.cache
222
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/PjzZwmbYJUPXBPEKfYAIld32mtAk3H0hBz7ONWVqza4.cache
223
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QYBC6SiWic96YuGP27vORM8frM2yoCxYATSeAuu3q3s.cache
224
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QfZ4TPv_vTZ6WmGKJEhbsZ0Ou73XHsnuUlsaYV3ZQEY.cache
225
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XIp7H1NvI9qObEEUnVrJoJ0TgF9dsNRmdw7bkMLyf64.cache
226
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/aCkopDHgOZcXcLJcYI3sgc_SuAZhhr9RkRQshzmldF8.cache
227
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bkZWDwb871tTLoM-W80twc_qhQ_ziPfInIfbzCcLnpE.cache
228
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/gLJlx0p_IOKb7r9m3hjLdN2jGSicQ_Ns4SS1jWlFDAQ.cache
229
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/i9TsnRfu6oqRsV9V2v_6Ulubst2IVveepQEkimUU6QE.cache
230
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/iEVE5Kzzv15cyQWfQGEbgnKSSO0xiblZzP-sO26AYGQ.cache
231
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/rRXYm5yDdh2lrn8etfERia5zGqWg3_cJ3siQQG6h9UU.cache
232
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/t3hd5M5Qs7xWqz8gFCvXf781-4lYaem1SZCLRh47qCc.cache
233
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/yHIJ2OseWB_qclWx7fwHLHPAVYOch64QqS8Y07WHhRk.cache
234
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/yuW5Zfj9wAku7kLsnPBHwLsetLDeWKm9ju_dm_GLgf0.cache
205
235
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/-5YHHhQNSe7DP0Orvh4Yznxx2tNs_gqpFgGw2aG9Z3Y.cache
206
236
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2SBt5E86bhaTcl7TkcrIXPVQyQtH9yIRArRC_UxPck4.cache
207
237
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2ee3JgN3SAjy0F6JxKIJ62QtBkcq6xfUvl5vonKpKTg.cache
@@ -226,11 +256,18 @@ files:
226
256
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/sgE7MzZJ_2ApXbjrysAQ5U9UYLG-4cF-A1PgntMu8M4.cache
227
257
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/x3uq8L9bH8xLwZLDYY0PVDTSeV-I_7g0rsm9W5RIBR4.cache
228
258
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/yuW5Zfj9wAku7kLsnPBHwLsetLDeWKm9ju_dm_GLgf0.cache
259
+ - spec/features/full_search_form_test.rb
260
+ - spec/features/range_search_form_test.rb
261
+ - spec/features/search_performance_test_in_app.rb
229
262
  - spec/features/simple_search_form_test.rb
230
263
  - spec/glasses_spec.rb
231
- - spec/scratches/example_only_methods.rb
232
264
  - spec/spec_helper.rb
233
265
  - spec/tasks/rspec.rake
266
+ - spec/test_only_methods/example_only_methods.rb
267
+ - spec/tests/full_search_test.rb
268
+ - spec/tests/parameters_priority_test.rb
269
+ - spec/tests/performance_test.rb
270
+ - spec/tests/range_search_test.rb
234
271
  - spec/tests/sanitized_search_test.rb
235
272
  - spec/tests/search_test.rb
236
273
  homepage: https://github.com/otamm/Glasses
@@ -271,7 +308,13 @@ test_files:
271
308
  - spec/dummy/app/models/player.rb
272
309
  - spec/dummy/app/views/layouts/application.html.erb
273
310
  - spec/dummy/app/views/search/controller_sanitized_simple_search.html.erb
311
+ - spec/dummy/app/views/search/full_raw_search_range.html.erb
312
+ - spec/dummy/app/views/search/full_search.html.erb
313
+ - spec/dummy/app/views/search/full_search_range.html.erb
274
314
  - spec/dummy/app/views/search/method_sanitized_simple_search.html.erb
315
+ - spec/dummy/app/views/search/range_search.html.erb
316
+ - spec/dummy/app/views/search/raw_full_search.html.erb
317
+ - spec/dummy/app/views/search/raw_range_search.html.erb
275
318
  - spec/dummy/app/views/search/simple_search.html.erb
276
319
  - spec/dummy/bin/bundle
277
320
  - spec/dummy/bin/rails
@@ -311,6 +354,30 @@ test_files:
311
354
  - spec/dummy/public/favicon.ico
312
355
  - spec/dummy/Rakefile
313
356
  - spec/dummy/test/test_helper.rb
357
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/-n4kyDOdRxiiiIJEFA9cId9azJmW5g6hmwbs8SJ4qRg.cache
358
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2SBt5E86bhaTcl7TkcrIXPVQyQtH9yIRArRC_UxPck4.cache
359
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/2Tqd0MZWTPMTu8CoqlOCudnpF2UapAVb-1Qd3gZnzWs.cache
360
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4m7rzZ6NLrCLYY8Klx2qByvjsF9EwTrhkqhffC_ddIU.cache
361
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4wucpOHsDYdErjU4sC9i1FT33L-WRugEHtfQdiz-CXY.cache
362
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/aCkopDHgOZcXcLJcYI3sgc_SuAZhhr9RkRQshzmldF8.cache
363
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/AE40Tp96RkdOo7EhY00dhAOG17GUBn6QkZxp0HQVRQA.cache
364
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/bkZWDwb871tTLoM-W80twc_qhQ_ziPfInIfbzCcLnpE.cache
365
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/CtIOdYL64ZUZ8_1ALDOZWNEis9WeBXUYTZ95MGCwJxk.cache
366
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/DMb_4zR5zBmQGRtZlXIrUCrkOrY-Wzw_ESjc3NoXX6s.cache
367
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/FfRbjoX7fHHQqnXiehqlD233T1kj4rzNPybfmQ_GUWI.cache
368
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/gLJlx0p_IOKb7r9m3hjLdN2jGSicQ_Ns4SS1jWlFDAQ.cache
369
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/i9TsnRfu6oqRsV9V2v_6Ulubst2IVveepQEkimUU6QE.cache
370
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/iEVE5Kzzv15cyQWfQGEbgnKSSO0xiblZzP-sO26AYGQ.cache
371
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/JlLKJj3SMeXmPLYJvdO955A6OPH9wSTWF3QFOvbaT0k.cache
372
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Mo_r4nJu9qt0iEhVH0CXGZkIh_SCKfu3LoDU6GlMT-U.cache
373
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/PjzZwmbYJUPXBPEKfYAIld32mtAk3H0hBz7ONWVqza4.cache
374
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QfZ4TPv_vTZ6WmGKJEhbsZ0Ou73XHsnuUlsaYV3ZQEY.cache
375
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/QYBC6SiWic96YuGP27vORM8frM2yoCxYATSeAuu3q3s.cache
376
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/rRXYm5yDdh2lrn8etfERia5zGqWg3_cJ3siQQG6h9UU.cache
377
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/t3hd5M5Qs7xWqz8gFCvXf781-4lYaem1SZCLRh47qCc.cache
378
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/XIp7H1NvI9qObEEUnVrJoJ0TgF9dsNRmdw7bkMLyf64.cache
379
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/yHIJ2OseWB_qclWx7fwHLHPAVYOch64QqS8Y07WHhRk.cache
380
+ - spec/dummy/tmp/cache/assets/development/sprockets/v3.0/yuW5Zfj9wAku7kLsnPBHwLsetLDeWKm9ju_dm_GLgf0.cache
314
381
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/-5YHHhQNSe7DP0Orvh4Yznxx2tNs_gqpFgGw2aG9Z3Y.cache
315
382
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2ee3JgN3SAjy0F6JxKIJ62QtBkcq6xfUvl5vonKpKTg.cache
316
383
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/2SBt5E86bhaTcl7TkcrIXPVQyQtH9yIRArRC_UxPck4.cache
@@ -335,10 +402,17 @@ test_files:
335
402
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/VQW8knFSHAGZ-SwN_2c-9i5SVI9s_5RKDO7GLW7A_yM.cache
336
403
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/x3uq8L9bH8xLwZLDYY0PVDTSeV-I_7g0rsm9W5RIBR4.cache
337
404
  - spec/dummy/tmp/cache/assets/test/sprockets/v3.0/yuW5Zfj9wAku7kLsnPBHwLsetLDeWKm9ju_dm_GLgf0.cache
405
+ - spec/features/full_search_form_test.rb
406
+ - spec/features/range_search_form_test.rb
407
+ - spec/features/search_performance_test_in_app.rb
338
408
  - spec/features/simple_search_form_test.rb
339
409
  - spec/glasses_spec.rb
340
- - spec/scratches/example_only_methods.rb
341
410
  - spec/spec_helper.rb
342
411
  - spec/tasks/rspec.rake
412
+ - spec/test_only_methods/example_only_methods.rb
413
+ - spec/tests/full_search_test.rb
414
+ - spec/tests/parameters_priority_test.rb
415
+ - spec/tests/performance_test.rb
416
+ - spec/tests/range_search_test.rb
343
417
  - spec/tests/sanitized_search_test.rb
344
418
  - spec/tests/search_test.rb
@@ -1,26 +0,0 @@
1
- def search_within_range(model_to_search,params_hash)
2
- params_array = params_hash.to_a
3
- query = ""
4
- consecutive_ints = 0
5
- params_array.each_with_index do |pair, index|
6
- if !pair[1].empty?
7
- if pair[0].to_s[key.size-3,key.size] == "_id" || pair[] ~= /\A[-+]?[0-9]+\z/ # checks if value is basically an integer within quotes
8
-
9
- possible_query = "#{key} = #{val} AND "
10
- consecutive_ints += 1
11
- if consecutive_ints % 2 == 0 #check if the case is of an integer field followed by another
12
-
13
- end
14
- query += possible_query
15
- else
16
- query += "#{key} LIKE '#{val}%' AND " # percent sign matches any string of 0 or more chars.
17
- end
18
- end
19
- end
20
- if !query.empty?
21
- query = query[0,query.size-5]
22
- model_to_search.where(query)
23
- else
24
- []
25
- end
26
- end