plucky 0.3.2 → 0.3.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.
- data/lib/plucky/criteria_hash.rb +1 -1
- data/lib/plucky/query.rb +17 -0
- data/lib/plucky/version.rb +1 -1
- metadata +17 -4
data/lib/plucky/criteria_hash.rb
CHANGED
@@ -120,7 +120,7 @@ module Plucky
|
|
120
120
|
case value
|
121
121
|
when Array, Set
|
122
122
|
value.map! { |v| Plucky.to_object_id(v) } if object_id?(parent_key)
|
123
|
-
parent_key == key ? {'$in' => value.to_a} : value.to_a
|
123
|
+
parent_key == key && key != :$or ? {'$in' => value.to_a} : value.to_a
|
124
124
|
when Time
|
125
125
|
value.utc
|
126
126
|
when String
|
data/lib/plucky/query.rb
CHANGED
@@ -104,6 +104,14 @@ module Plucky
|
|
104
104
|
def fields(*args)
|
105
105
|
clone.tap { |query| query.options[:fields] = *args }
|
106
106
|
end
|
107
|
+
|
108
|
+
def ignore(*args)
|
109
|
+
set_fields(args,0)
|
110
|
+
end
|
111
|
+
|
112
|
+
def only(*args)
|
113
|
+
set_fields(args,1)
|
114
|
+
end
|
107
115
|
|
108
116
|
def limit(count=nil)
|
109
117
|
clone.tap { |query| query.options[:limit] = count }
|
@@ -180,5 +188,14 @@ module Plucky
|
|
180
188
|
end.sort.join(",")
|
181
189
|
"#<#{self.class}#{as_nice_string}>"
|
182
190
|
end
|
191
|
+
|
192
|
+
private
|
193
|
+
|
194
|
+
def set_fields(field_list, value)
|
195
|
+
the_fields = {}
|
196
|
+
field_list.each {|field| the_fields[field.to_sym] = value}
|
197
|
+
clone.tap { |query| query.options[:fields] = the_fields}
|
198
|
+
end
|
199
|
+
|
183
200
|
end
|
184
201
|
end
|
data/lib/plucky/version.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plucky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 21
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
9
|
+
- 3
|
10
|
+
version: 0.3.3
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- John Nunemaker
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-08-09 00:00:00 -04:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: mongo
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ~>
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 21
|
27
30
|
segments:
|
28
31
|
- 1
|
29
32
|
- 0
|
@@ -35,9 +38,11 @@ dependencies:
|
|
35
38
|
name: shoulda
|
36
39
|
prerelease: false
|
37
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
43
|
- - ~>
|
40
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 35
|
41
46
|
segments:
|
42
47
|
- 2
|
43
48
|
- 10
|
@@ -49,9 +54,11 @@ dependencies:
|
|
49
54
|
name: jnunemaker-matchy
|
50
55
|
prerelease: false
|
51
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
59
|
- - ~>
|
54
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 15
|
55
62
|
segments:
|
56
63
|
- 0
|
57
64
|
- 4
|
@@ -63,9 +70,11 @@ dependencies:
|
|
63
70
|
name: mocha
|
64
71
|
prerelease: false
|
65
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
66
74
|
requirements:
|
67
75
|
- - ~>
|
68
76
|
- !ruby/object:Gem::Version
|
77
|
+
hash: 43
|
69
78
|
segments:
|
70
79
|
- 0
|
71
80
|
- 9
|
@@ -105,23 +114,27 @@ rdoc_options: []
|
|
105
114
|
require_paths:
|
106
115
|
- lib
|
107
116
|
required_ruby_version: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
108
118
|
requirements:
|
109
119
|
- - ">="
|
110
120
|
- !ruby/object:Gem::Version
|
121
|
+
hash: 3
|
111
122
|
segments:
|
112
123
|
- 0
|
113
124
|
version: "0"
|
114
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
115
127
|
requirements:
|
116
128
|
- - ">="
|
117
129
|
- !ruby/object:Gem::Version
|
130
|
+
hash: 3
|
118
131
|
segments:
|
119
132
|
- 0
|
120
133
|
version: "0"
|
121
134
|
requirements: []
|
122
135
|
|
123
136
|
rubyforge_project:
|
124
|
-
rubygems_version: 1.3.
|
137
|
+
rubygems_version: 1.3.7
|
125
138
|
signing_key:
|
126
139
|
specification_version: 3
|
127
140
|
summary: Thin layer over the ruby driver that allows you to quickly grab hold of your data (pluck it!).
|