plucky 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  module Plucky
3
- Version = '0.3.2'
3
+ Version = '0.3.3'
4
4
  end
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
- - 2
9
- version: 0.3.2
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-06-18 00:00:00 -04:00
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.6
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!).