glasses 1.6.2 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
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