activerecord_any_of 1.2 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -38
  3. data/Rakefile +9 -27
  4. data/lib/activerecord_any_of/alternative_builder.rb +25 -9
  5. data/lib/activerecord_any_of/version.rb +1 -1
  6. data/lib/activerecord_any_of.rb +4 -4
  7. data/spec/activerecord_any_of_spec.rb +196 -0
  8. data/spec/db/database.yml +28 -0
  9. data/spec/db/schema.rb +33 -0
  10. data/{test → spec}/fixtures/authors.yml +0 -0
  11. data/{test → spec}/fixtures/posts.yml +0 -0
  12. data/spec/fixtures/users.yml +9 -0
  13. data/spec/spec_helper.rb +36 -0
  14. data/spec/support/models.rb +34 -0
  15. metadata +76 -203
  16. data/test/activerecord_any_of_test.rb +0 -114
  17. data/test/dummy_rails3/README.rdoc +0 -261
  18. data/test/dummy_rails3/Rakefile +0 -7
  19. data/test/dummy_rails3/app/assets/javascripts/application.js +0 -15
  20. data/test/dummy_rails3/app/assets/stylesheets/application.css +0 -13
  21. data/test/dummy_rails3/app/controllers/application_controller.rb +0 -3
  22. data/test/dummy_rails3/app/helpers/application_helper.rb +0 -2
  23. data/test/dummy_rails3/app/models/author.rb +0 -4
  24. data/test/dummy_rails3/app/models/post.rb +0 -4
  25. data/test/dummy_rails3/app/models/special_post.rb +0 -2
  26. data/test/dummy_rails3/app/models/sti_post.rb +0 -2
  27. data/test/dummy_rails3/app/views/layouts/application.html.erb +0 -14
  28. data/test/dummy_rails3/config/application.rb +0 -59
  29. data/test/dummy_rails3/config/boot.rb +0 -10
  30. data/test/dummy_rails3/config/database.yml +0 -25
  31. data/test/dummy_rails3/config/environment.rb +0 -5
  32. data/test/dummy_rails3/config/environments/development.rb +0 -37
  33. data/test/dummy_rails3/config/environments/production.rb +0 -67
  34. data/test/dummy_rails3/config/environments/test.rb +0 -37
  35. data/test/dummy_rails3/config/initializers/backtrace_silencers.rb +0 -7
  36. data/test/dummy_rails3/config/initializers/inflections.rb +0 -15
  37. data/test/dummy_rails3/config/initializers/mime_types.rb +0 -5
  38. data/test/dummy_rails3/config/initializers/secret_token.rb +0 -7
  39. data/test/dummy_rails3/config/initializers/session_store.rb +0 -8
  40. data/test/dummy_rails3/config/initializers/wrap_parameters.rb +0 -14
  41. data/test/dummy_rails3/config/locales/en.yml +0 -5
  42. data/test/dummy_rails3/config/routes.rb +0 -58
  43. data/test/dummy_rails3/config.ru +0 -4
  44. data/test/dummy_rails3/db/development.sqlite3 +0 -0
  45. data/test/dummy_rails3/db/migrate/20130617172335_create_authors.rb +0 -9
  46. data/test/dummy_rails3/db/migrate/20130617173313_create_posts.rb +0 -12
  47. data/test/dummy_rails3/db/schema.rb +0 -31
  48. data/test/dummy_rails3/db/test.sqlite3 +0 -0
  49. data/test/dummy_rails3/log/development.log +0 -101
  50. data/test/dummy_rails3/log/test.log +0 -2875
  51. data/test/dummy_rails3/public/404.html +0 -26
  52. data/test/dummy_rails3/public/422.html +0 -26
  53. data/test/dummy_rails3/public/500.html +0 -25
  54. data/test/dummy_rails3/public/favicon.ico +0 -0
  55. data/test/dummy_rails3/script/rails +0 -6
  56. data/test/dummy_rails3/test/fixtures/authors.yml +0 -7
  57. data/test/dummy_rails3/test/fixtures/posts.yml +0 -13
  58. data/test/dummy_rails3/test/unit/author_test.rb +0 -7
  59. data/test/dummy_rails3/test/unit/post_test.rb +0 -7
  60. data/test/dummy_rails4/README.rdoc +0 -28
  61. data/test/dummy_rails4/Rakefile +0 -6
  62. data/test/dummy_rails4/app/assets/javascripts/application.js +0 -13
  63. data/test/dummy_rails4/app/assets/stylesheets/application.css +0 -13
  64. data/test/dummy_rails4/app/controllers/application_controller.rb +0 -5
  65. data/test/dummy_rails4/app/helpers/application_helper.rb +0 -2
  66. data/test/dummy_rails4/app/models/author.rb +0 -3
  67. data/test/dummy_rails4/app/models/post.rb +0 -3
  68. data/test/dummy_rails4/app/models/special_post.rb +0 -2
  69. data/test/dummy_rails4/app/models/sti_post.rb +0 -2
  70. data/test/dummy_rails4/app/views/layouts/application.html.erb +0 -14
  71. data/test/dummy_rails4/bin/bundle +0 -3
  72. data/test/dummy_rails4/bin/rails +0 -4
  73. data/test/dummy_rails4/bin/rake +0 -4
  74. data/test/dummy_rails4/config/application.rb +0 -23
  75. data/test/dummy_rails4/config/boot.rb +0 -5
  76. data/test/dummy_rails4/config/database.yml +0 -25
  77. data/test/dummy_rails4/config/environment.rb +0 -5
  78. data/test/dummy_rails4/config/environments/development.rb +0 -29
  79. data/test/dummy_rails4/config/environments/production.rb +0 -80
  80. data/test/dummy_rails4/config/environments/test.rb +0 -36
  81. data/test/dummy_rails4/config/initializers/backtrace_silencers.rb +0 -7
  82. data/test/dummy_rails4/config/initializers/filter_parameter_logging.rb +0 -4
  83. data/test/dummy_rails4/config/initializers/inflections.rb +0 -16
  84. data/test/dummy_rails4/config/initializers/mime_types.rb +0 -5
  85. data/test/dummy_rails4/config/initializers/secret_token.rb +0 -12
  86. data/test/dummy_rails4/config/initializers/session_store.rb +0 -3
  87. data/test/dummy_rails4/config/initializers/wrap_parameters.rb +0 -14
  88. data/test/dummy_rails4/config/locales/en.yml +0 -23
  89. data/test/dummy_rails4/config/routes.rb +0 -56
  90. data/test/dummy_rails4/config.ru +0 -4
  91. data/test/dummy_rails4/db/development.sqlite3 +0 -0
  92. data/test/dummy_rails4/db/migrate/20130617172335_create_authors.rb +0 -9
  93. data/test/dummy_rails4/db/migrate/20130617173313_create_posts.rb +0 -12
  94. data/test/dummy_rails4/db/schema.rb +0 -31
  95. data/test/dummy_rails4/db/test.sqlite3 +0 -0
  96. data/test/dummy_rails4/log/development.log +0 -21
  97. data/test/dummy_rails4/log/test.log +0 -1527
  98. data/test/dummy_rails4/public/404.html +0 -58
  99. data/test/dummy_rails4/public/422.html +0 -58
  100. data/test/dummy_rails4/public/500.html +0 -57
  101. data/test/dummy_rails4/public/favicon.ico +0 -0
  102. data/test/dummy_rails4/test/fixtures/authors.yml +0 -7
  103. data/test/dummy_rails4/test/fixtures/posts.yml +0 -13
  104. data/test/dummy_rails4/test/unit/author_test.rb +0 -7
  105. data/test/dummy_rails4/test/unit/post_test.rb +0 -7
  106. data/test/test_helper.rb +0 -15
metadata CHANGED
@@ -1,47 +1,89 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_any_of
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.2'
4
+ version: '1.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Olivier El Mekki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-03 00:00:00.000000000 Z
11
+ date: 2015-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.2.13
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '5'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: 3.2.13
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '5'
33
33
  - !ruby/object:Gem::Dependency
34
- name: sqlite3
34
+ name: rspec-rails
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '>='
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.12'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.12'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '10'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '10'
61
+ - !ruby/object:Gem::Dependency
62
+ name: combustion
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 0.5.1
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.5.1
75
+ - !ruby/object:Gem::Dependency
76
+ name: database_cleaner
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
38
80
  - !ruby/object:Gem::Version
39
81
  version: '0'
40
82
  type: :development
41
83
  prerelease: false
42
84
  version_requirements: !ruby/object:Gem::Requirement
43
85
  requirements:
44
- - - '>='
86
+ - - ">="
45
87
  - !ruby/object:Gem::Version
46
88
  version: '0'
47
89
  description: Any_of allows to compute dynamic OR queries.
@@ -51,105 +93,20 @@ executables: []
51
93
  extensions: []
52
94
  extra_rdoc_files: []
53
95
  files:
54
- - lib/activerecord_any_of/alternative_builder.rb
55
- - lib/activerecord_any_of/version.rb
56
- - lib/activerecord_any_of.rb
57
96
  - MIT-LICENSE
58
- - Rakefile
59
97
  - README.md
60
- - test/fixtures/authors.yml
61
- - test/fixtures/posts.yml
62
- - test/dummy_rails4/README.rdoc
63
- - test/dummy_rails4/db/development.sqlite3
64
- - test/dummy_rails4/db/test.sqlite3
65
- - test/dummy_rails4/db/schema.rb
66
- - test/dummy_rails4/db/migrate/20130617173313_create_posts.rb
67
- - test/dummy_rails4/db/migrate/20130617172335_create_authors.rb
68
- - test/dummy_rails4/app/views/layouts/application.html.erb
69
- - test/dummy_rails4/app/models/post.rb
70
- - test/dummy_rails4/app/models/author.rb
71
- - test/dummy_rails4/app/models/sti_post.rb
72
- - test/dummy_rails4/app/models/special_post.rb
73
- - test/dummy_rails4/app/helpers/application_helper.rb
74
- - test/dummy_rails4/app/controllers/application_controller.rb
75
- - test/dummy_rails4/app/assets/javascripts/application.js
76
- - test/dummy_rails4/app/assets/stylesheets/application.css
77
- - test/dummy_rails4/bin/rake
78
- - test/dummy_rails4/bin/bundle
79
- - test/dummy_rails4/bin/rails
80
- - test/dummy_rails4/test/fixtures/authors.yml
81
- - test/dummy_rails4/test/fixtures/posts.yml
82
- - test/dummy_rails4/test/unit/post_test.rb
83
- - test/dummy_rails4/test/unit/author_test.rb
84
- - test/dummy_rails4/Rakefile
85
- - test/dummy_rails4/log/test.log
86
- - test/dummy_rails4/log/development.log
87
- - test/dummy_rails4/config/application.rb
88
- - test/dummy_rails4/config/database.yml
89
- - test/dummy_rails4/config/boot.rb
90
- - test/dummy_rails4/config/routes.rb
91
- - test/dummy_rails4/config/environment.rb
92
- - test/dummy_rails4/config/environments/test.rb
93
- - test/dummy_rails4/config/environments/production.rb
94
- - test/dummy_rails4/config/environments/development.rb
95
- - test/dummy_rails4/config/locales/en.yml
96
- - test/dummy_rails4/config/initializers/filter_parameter_logging.rb
97
- - test/dummy_rails4/config/initializers/session_store.rb
98
- - test/dummy_rails4/config/initializers/wrap_parameters.rb
99
- - test/dummy_rails4/config/initializers/mime_types.rb
100
- - test/dummy_rails4/config/initializers/secret_token.rb
101
- - test/dummy_rails4/config/initializers/inflections.rb
102
- - test/dummy_rails4/config/initializers/backtrace_silencers.rb
103
- - test/dummy_rails4/config.ru
104
- - test/dummy_rails4/public/500.html
105
- - test/dummy_rails4/public/422.html
106
- - test/dummy_rails4/public/favicon.ico
107
- - test/dummy_rails4/public/404.html
108
- - test/test_helper.rb
109
- - test/activerecord_any_of_test.rb
110
- - test/dummy_rails3/README.rdoc
111
- - test/dummy_rails3/db/development.sqlite3
112
- - test/dummy_rails3/db/test.sqlite3
113
- - test/dummy_rails3/db/schema.rb
114
- - test/dummy_rails3/db/migrate/20130617173313_create_posts.rb
115
- - test/dummy_rails3/db/migrate/20130617172335_create_authors.rb
116
- - test/dummy_rails3/app/views/layouts/application.html.erb
117
- - test/dummy_rails3/app/models/post.rb
118
- - test/dummy_rails3/app/models/author.rb
119
- - test/dummy_rails3/app/models/sti_post.rb
120
- - test/dummy_rails3/app/models/special_post.rb
121
- - test/dummy_rails3/app/helpers/application_helper.rb
122
- - test/dummy_rails3/app/controllers/application_controller.rb
123
- - test/dummy_rails3/app/assets/javascripts/application.js
124
- - test/dummy_rails3/app/assets/stylesheets/application.css
125
- - test/dummy_rails3/test/fixtures/authors.yml
126
- - test/dummy_rails3/test/fixtures/posts.yml
127
- - test/dummy_rails3/test/unit/post_test.rb
128
- - test/dummy_rails3/test/unit/author_test.rb
129
- - test/dummy_rails3/Rakefile
130
- - test/dummy_rails3/log/test.log
131
- - test/dummy_rails3/log/development.log
132
- - test/dummy_rails3/script/rails
133
- - test/dummy_rails3/config/application.rb
134
- - test/dummy_rails3/config/database.yml
135
- - test/dummy_rails3/config/boot.rb
136
- - test/dummy_rails3/config/routes.rb
137
- - test/dummy_rails3/config/environment.rb
138
- - test/dummy_rails3/config/environments/test.rb
139
- - test/dummy_rails3/config/environments/production.rb
140
- - test/dummy_rails3/config/environments/development.rb
141
- - test/dummy_rails3/config/locales/en.yml
142
- - test/dummy_rails3/config/initializers/session_store.rb
143
- - test/dummy_rails3/config/initializers/wrap_parameters.rb
144
- - test/dummy_rails3/config/initializers/mime_types.rb
145
- - test/dummy_rails3/config/initializers/secret_token.rb
146
- - test/dummy_rails3/config/initializers/inflections.rb
147
- - test/dummy_rails3/config/initializers/backtrace_silencers.rb
148
- - test/dummy_rails3/config.ru
149
- - test/dummy_rails3/public/500.html
150
- - test/dummy_rails3/public/422.html
151
- - test/dummy_rails3/public/favicon.ico
152
- - test/dummy_rails3/public/404.html
98
+ - Rakefile
99
+ - lib/activerecord_any_of.rb
100
+ - lib/activerecord_any_of/alternative_builder.rb
101
+ - lib/activerecord_any_of/version.rb
102
+ - spec/activerecord_any_of_spec.rb
103
+ - spec/db/database.yml
104
+ - spec/db/schema.rb
105
+ - spec/fixtures/authors.yml
106
+ - spec/fixtures/posts.yml
107
+ - spec/fixtures/users.yml
108
+ - spec/spec_helper.rb
109
+ - spec/support/models.rb
153
110
  homepage: https://github.com/oelmekki/activerecord_any_of
154
111
  licenses:
155
112
  - MIT
@@ -160,111 +117,27 @@ require_paths:
160
117
  - lib
161
118
  required_ruby_version: !ruby/object:Gem::Requirement
162
119
  requirements:
163
- - - '>='
120
+ - - ">="
164
121
  - !ruby/object:Gem::Version
165
122
  version: '0'
166
123
  required_rubygems_version: !ruby/object:Gem::Requirement
167
124
  requirements:
168
- - - '>='
125
+ - - ">="
169
126
  - !ruby/object:Gem::Version
170
127
  version: '0'
171
128
  requirements: []
172
129
  rubyforge_project:
173
- rubygems_version: 2.0.3
130
+ rubygems_version: 2.2.2
174
131
  signing_key:
175
132
  specification_version: 4
176
133
  summary: Mongoid's any_of like implementation for activerecord
177
134
  test_files:
178
- - test/fixtures/authors.yml
179
- - test/fixtures/posts.yml
180
- - test/dummy_rails4/README.rdoc
181
- - test/dummy_rails4/db/development.sqlite3
182
- - test/dummy_rails4/db/test.sqlite3
183
- - test/dummy_rails4/db/schema.rb
184
- - test/dummy_rails4/db/migrate/20130617173313_create_posts.rb
185
- - test/dummy_rails4/db/migrate/20130617172335_create_authors.rb
186
- - test/dummy_rails4/app/views/layouts/application.html.erb
187
- - test/dummy_rails4/app/models/post.rb
188
- - test/dummy_rails4/app/models/author.rb
189
- - test/dummy_rails4/app/models/sti_post.rb
190
- - test/dummy_rails4/app/models/special_post.rb
191
- - test/dummy_rails4/app/helpers/application_helper.rb
192
- - test/dummy_rails4/app/controllers/application_controller.rb
193
- - test/dummy_rails4/app/assets/javascripts/application.js
194
- - test/dummy_rails4/app/assets/stylesheets/application.css
195
- - test/dummy_rails4/bin/rake
196
- - test/dummy_rails4/bin/bundle
197
- - test/dummy_rails4/bin/rails
198
- - test/dummy_rails4/test/fixtures/authors.yml
199
- - test/dummy_rails4/test/fixtures/posts.yml
200
- - test/dummy_rails4/test/unit/post_test.rb
201
- - test/dummy_rails4/test/unit/author_test.rb
202
- - test/dummy_rails4/Rakefile
203
- - test/dummy_rails4/log/test.log
204
- - test/dummy_rails4/log/development.log
205
- - test/dummy_rails4/config/application.rb
206
- - test/dummy_rails4/config/database.yml
207
- - test/dummy_rails4/config/boot.rb
208
- - test/dummy_rails4/config/routes.rb
209
- - test/dummy_rails4/config/environment.rb
210
- - test/dummy_rails4/config/environments/test.rb
211
- - test/dummy_rails4/config/environments/production.rb
212
- - test/dummy_rails4/config/environments/development.rb
213
- - test/dummy_rails4/config/locales/en.yml
214
- - test/dummy_rails4/config/initializers/filter_parameter_logging.rb
215
- - test/dummy_rails4/config/initializers/session_store.rb
216
- - test/dummy_rails4/config/initializers/wrap_parameters.rb
217
- - test/dummy_rails4/config/initializers/mime_types.rb
218
- - test/dummy_rails4/config/initializers/secret_token.rb
219
- - test/dummy_rails4/config/initializers/inflections.rb
220
- - test/dummy_rails4/config/initializers/backtrace_silencers.rb
221
- - test/dummy_rails4/config.ru
222
- - test/dummy_rails4/public/500.html
223
- - test/dummy_rails4/public/422.html
224
- - test/dummy_rails4/public/favicon.ico
225
- - test/dummy_rails4/public/404.html
226
- - test/test_helper.rb
227
- - test/activerecord_any_of_test.rb
228
- - test/dummy_rails3/README.rdoc
229
- - test/dummy_rails3/db/development.sqlite3
230
- - test/dummy_rails3/db/test.sqlite3
231
- - test/dummy_rails3/db/schema.rb
232
- - test/dummy_rails3/db/migrate/20130617173313_create_posts.rb
233
- - test/dummy_rails3/db/migrate/20130617172335_create_authors.rb
234
- - test/dummy_rails3/app/views/layouts/application.html.erb
235
- - test/dummy_rails3/app/models/post.rb
236
- - test/dummy_rails3/app/models/author.rb
237
- - test/dummy_rails3/app/models/sti_post.rb
238
- - test/dummy_rails3/app/models/special_post.rb
239
- - test/dummy_rails3/app/helpers/application_helper.rb
240
- - test/dummy_rails3/app/controllers/application_controller.rb
241
- - test/dummy_rails3/app/assets/javascripts/application.js
242
- - test/dummy_rails3/app/assets/stylesheets/application.css
243
- - test/dummy_rails3/test/fixtures/authors.yml
244
- - test/dummy_rails3/test/fixtures/posts.yml
245
- - test/dummy_rails3/test/unit/post_test.rb
246
- - test/dummy_rails3/test/unit/author_test.rb
247
- - test/dummy_rails3/Rakefile
248
- - test/dummy_rails3/log/test.log
249
- - test/dummy_rails3/log/development.log
250
- - test/dummy_rails3/script/rails
251
- - test/dummy_rails3/config/application.rb
252
- - test/dummy_rails3/config/database.yml
253
- - test/dummy_rails3/config/boot.rb
254
- - test/dummy_rails3/config/routes.rb
255
- - test/dummy_rails3/config/environment.rb
256
- - test/dummy_rails3/config/environments/test.rb
257
- - test/dummy_rails3/config/environments/production.rb
258
- - test/dummy_rails3/config/environments/development.rb
259
- - test/dummy_rails3/config/locales/en.yml
260
- - test/dummy_rails3/config/initializers/session_store.rb
261
- - test/dummy_rails3/config/initializers/wrap_parameters.rb
262
- - test/dummy_rails3/config/initializers/mime_types.rb
263
- - test/dummy_rails3/config/initializers/secret_token.rb
264
- - test/dummy_rails3/config/initializers/inflections.rb
265
- - test/dummy_rails3/config/initializers/backtrace_silencers.rb
266
- - test/dummy_rails3/config.ru
267
- - test/dummy_rails3/public/500.html
268
- - test/dummy_rails3/public/422.html
269
- - test/dummy_rails3/public/favicon.ico
270
- - test/dummy_rails3/public/404.html
135
+ - spec/db/schema.rb
136
+ - spec/db/database.yml
137
+ - spec/support/models.rb
138
+ - spec/spec_helper.rb
139
+ - spec/fixtures/users.yml
140
+ - spec/fixtures/posts.yml
141
+ - spec/fixtures/authors.yml
142
+ - spec/activerecord_any_of_spec.rb
143
+ has_rdoc:
@@ -1,114 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ActiverecordAnyOfTest < ActiveSupport::TestCase
4
- fixtures :authors, :posts
5
-
6
- test 'finding with alternate conditions' do
7
- if Rails.version >= '4'
8
- assert_equal ['David', 'Mary'], Author.where.any_of({name: 'David'}, {name: 'Mary'}).map(&:name)
9
- assert_equal ['David', 'Mary'], Author.where.any_of({name: 'David'}, ['name = ?', 'Mary']).map(&:name)
10
-
11
- davids = Author.where(name: 'David')
12
- assert_equal ['David', 'Mary', 'Bob'], Author.where.any_of(davids, ['name = ?', 'Mary'], {name: 'Bob'}).map(&:name)
13
- assert_equal ['David', 'Mary', 'Bob'], Author.where.any_of(davids, "name = 'Mary'", {name: 'Bob', id: 3}).map(&:name)
14
- assert_equal ['David'], Author.where.not(name: 'Mary').where.any_of(davids, ['name = ?', 'Mary']).map(&:name)
15
- else
16
- assert_equal ['David', 'Mary'], Author.any_of({name: 'David'}, {name: 'Mary'}).map(&:name)
17
- assert_equal ['David', 'Mary'], Author.any_of({name: 'David'}, ['name = ?', 'Mary']).map(&:name)
18
-
19
- davids = Author.where(name: 'David')
20
- assert_equal ['David', 'Mary', 'Bob'], Author.any_of(davids, ['name = ?', 'Mary'], {name: 'Bob'}).map(&:name)
21
- assert_equal ['David', 'Mary', 'Bob'], Author.any_of(davids, "name = 'Mary'", {name: 'Bob', id: 3}).map(&:name)
22
- assert_equal ['David'], Author.where("name IS NOT 'Mary'").any_of(davids, ['name = ?', 'Mary']).map(&:name)
23
- end
24
- end
25
-
26
- test 'finding with alternate conditions on association' do
27
- david = Author.where(name: 'David').first
28
- welcome = david.posts.where(body: 'Such a lovely day')
29
- expected = ['Welcome to the weblog', 'So I was thinking']
30
-
31
- if Rails.version >= '4'
32
- assert_equal expected, david.posts.where.any_of(welcome, {type: 'SpecialPost'}).map(&:title)
33
- else
34
- assert_equal expected, david.posts.any_of(welcome, {type: 'SpecialPost'}).map(&:title)
35
- end
36
- end
37
-
38
- test 'finding alternate dynamically with joined queries' do
39
- david = Author.where(posts: { title: 'Welcome to the weblog' }).joins(:posts)
40
- mary = Author.where(posts: { title: "eager loading with OR'd conditions" }).joins(:posts)
41
-
42
- if Rails.version >= '4'
43
- assert_equal ['David', 'Mary'], Author.where.any_of(david, mary).map(&:name)
44
- else
45
- assert_equal ['David', 'Mary'], Author.any_of(david, mary).map(&:name)
46
- end
47
-
48
- if Rails.version >= '4'
49
- david = Author.where(posts: { title: 'Welcome to the weblog' }).includes(:posts).references(:posts)
50
- mary = Author.where(posts: { title: "eager loading with OR'd conditions" }).includes(:posts).references(:posts)
51
- assert_equal ['David', 'Mary'], Author.where.any_of(david, mary).map(&:name)
52
- else
53
- david = Author.where(posts: { title: 'Welcome to the weblog' }).includes(:posts)
54
- mary = Author.where(posts: { title: "eager loading with OR'd conditions" }).includes(:posts)
55
- assert_equal ['David', 'Mary'], Author.any_of(david, mary).map(&:name)
56
- end
57
- end
58
-
59
- test 'finding with alternate negative conditions' do
60
- if Rails.version >= '4'
61
- assert_equal ['Bob'], Author.where.none_of({name: 'David'}, {name: 'Mary'}).map(&:name)
62
- else
63
- assert_equal ['Bob'], Author.none_of({name: 'David'}, {name: 'Mary'}).map(&:name)
64
- end
65
- end
66
-
67
- test 'finding with alternate negative conditions on association' do
68
- david = Author.where(name: 'David').first
69
- welcome = david.posts.where(body: 'Such a lovely day')
70
- expected = ['sti comments', 'sti me', 'habtm sti test']
71
-
72
- if Rails.version >= '4'
73
- assert_equal expected, david.posts.where.none_of(welcome, {type: 'SpecialPost'}).map(&:title)
74
- else
75
- assert_equal expected, david.posts.none_of(welcome, {type: 'SpecialPost'}).map(&:title)
76
- end
77
- end
78
-
79
- test 'calling #any_of with no argument raise exception' do
80
- if Rails.version >= '4'
81
- assert_raise(ArgumentError) { Author.where.any_of }
82
- else
83
- assert_raise(ArgumentError) { Author.any_of }
84
- end
85
- end
86
-
87
- test 'calling #none_of with no argument raise exception' do
88
- if Rails.version >= '4'
89
- assert_raise(ArgumentError) { Author.where.none_of }
90
- else
91
- assert_raise(ArgumentError) { Author.none_of }
92
- end
93
- end
94
-
95
- test 'calling #any_of after a wildcard query works' do
96
- if Rails.version >= '4'
97
- assert_equal ['David'], Author.where("name like '%av%'").where.any_of({name: 'David'}, {name: 'Mary'}).map(&:name)
98
- else
99
- assert_equal ['David'], Author.where("name like '%av%'").any_of({name: 'David'}, {name: 'Mary'}).map(&:name)
100
- end
101
- end
102
-
103
- test 'calling #any_of with a single Hash as parameter expands it' do
104
- assert_equal ['David', 'Mary'], Author.where.any_of(name: 'David', id: 2).map(&:name)
105
- end
106
-
107
- if Rails.version >= '4'
108
- test 'calling directly #any_of is deprecated in rails-4' do
109
- assert_deprecated do
110
- Author.any_of({name: 'David'}, {name: 'Mary'}).map(&:name)
111
- end
112
- end
113
- end
114
- end