activerecord_any_of 1.2 → 1.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 (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