activerecord-where-any-of 1.0.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.
- checksums.yaml +7 -0
- data/lib/active_record/where-any-of-mixin.rb +17 -0
- data/lib/activerecord-where-any-of.rb +3 -0
- metadata +91 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 39d578e488da080a1b42ef931dc686087641e94c
|
4
|
+
data.tar.gz: 9bf83b12a1a729aaa94fc7ff7dbf26a4d4e5af47
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5b302de089cffa924b665ac1537d79891a8e06cefe514f1fc2b99fd7162be7c01a2bb7a7e2e27edabff2c709597cb6bd89ae4957346646f647bc7014272376a0
|
7
|
+
data.tar.gz: 4315d4941e3372568c825d0cf743581cd555ab0bdedebd7f986a1344e6e63d2fe45d1cb27d3b30e88dc91e0201d938d771519ab7fdb5558db93b9ff99bffdf20
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module ActiveRecord
|
2
|
+
module WhereAnyOfMixin
|
3
|
+
|
4
|
+
def where_any_of(*conditions)
|
5
|
+
# Takes any number of scopes and OR them together
|
6
|
+
# into a new scope which can be combined with other scopes
|
7
|
+
conditions = conditions.map do |c|
|
8
|
+
if c.is_a? Symbol or c.is_a? String
|
9
|
+
c = self.unscoped.send(c)
|
10
|
+
end
|
11
|
+
c.where_values.reduce(:and)
|
12
|
+
end
|
13
|
+
where(conditions.reduce(:or))
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: activerecord-where-any-of
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David McCullars
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-07-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.3'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.3'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: |-
|
56
|
+
Provides a mechanism for OR'ing together one or more AREL relations. Normally when
|
57
|
+
one performs `SomeModel.where(condition_1).where(condition_2)`, the result is to AND
|
58
|
+
those conditions together. Unfortunately, there is no good way of OR'ing them without
|
59
|
+
converting the conditions into manual SQL. This mixin addresses that issue.
|
60
|
+
email:
|
61
|
+
- david.mccullars@gmail.com
|
62
|
+
executables: []
|
63
|
+
extensions: []
|
64
|
+
extra_rdoc_files: []
|
65
|
+
files:
|
66
|
+
- lib/active_record/where-any-of-mixin.rb
|
67
|
+
- lib/activerecord-where-any-of.rb
|
68
|
+
homepage:
|
69
|
+
licenses: []
|
70
|
+
metadata: {}
|
71
|
+
post_install_message:
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
requirements: []
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 2.1.11
|
88
|
+
signing_key:
|
89
|
+
specification_version: 4
|
90
|
+
summary: A simple mixin to ActiveRecord::Base that allows OR'ing arel relations.
|
91
|
+
test_files: []
|