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.
@@ -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!).