perpetuity-mongodb 1.0.0.beta → 1.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1eb06e99c8f903ef80d322b5a5efafed98bdfe58
4
- data.tar.gz: 0688a5ef4c25609887ef02748ba5fea2cf4d435e
3
+ metadata.gz: d3485d85cedc0683e48e69f108cac1aee1ca703d
4
+ data.tar.gz: 997998b5f0f84ef739a5c94b17c64b96c68976f1
5
5
  SHA512:
6
- metadata.gz: e9a4df359600fa4bd7a5434b91adffe4cd492605769239990d5652cd14ae25288779df219eb04cf31a97262036186f262c65eb77003e34fdaf3912d920bb8853
7
- data.tar.gz: 3167ead40e5411aea1b1df00340dba7ab8c7a062a51a9264f9b6c01096305cf29c42699f7c2fddc2b73516d825c649701a1e5cfbf57f8856632087a011846322
6
+ metadata.gz: d1a6032cd5d855950e5c185168a42cb9fbdc2a6b311695cad51aa3f3827619d188de23d1cfe51e50e6b717f29558c62e0563713a66444c3b6fb23795d8931437
7
+ data.tar.gz: ec7075a3da05a7ac4158dfd62a360412ff888a9a23be9a04016d8f093f938479cfcbbd47c16b1b24b671ed4f5b4cb574c467f8f605b73b3aa8fc334eac5af621
@@ -142,8 +142,15 @@ module Perpetuity
142
142
  retrieve klass, nil_query, {}
143
143
  end
144
144
 
145
- def delete id, klass
146
- collection(klass.to_s).find("_id" => id).remove
145
+ def delete ids, klass
146
+ ids = Array(ids)
147
+ if ids.one?
148
+ collection(klass.to_s).find("_id" => ids.first).remove
149
+ elsif ids.none?
150
+ # Nothing to delete
151
+ else
152
+ collection(klass.to_s).find("_id" => { "$in" => ids }).remove_all
153
+ end
147
154
  end
148
155
 
149
156
  def update klass, id, new_data
@@ -42,6 +42,14 @@ module Perpetuity
42
42
  QueryExpression.new self, :in, collection
43
43
  end
44
44
 
45
+ def any?
46
+ QueryExpression.new self, :not_equal, []
47
+ end
48
+
49
+ def none?
50
+ QueryExpression.new self, :equals, []
51
+ end
52
+
45
53
  def to_sym
46
54
  name
47
55
  end
@@ -1,5 +1,5 @@
1
1
  module Perpetuity
2
2
  module Mongodb
3
- VERSION = "1.0.0.beta"
3
+ VERSION = "1.0.0.beta2"
4
4
  end
5
5
  end
@@ -22,5 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "rspec"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_runtime_dependency "perpetuity", "~> 1.0.0.beta"
25
- spec.add_runtime_dependency "moped"
25
+ spec.add_runtime_dependency "moped", "~> 1.0"
26
26
  end
@@ -51,6 +51,14 @@ module Perpetuity
51
51
  (attribute.in [1, 2, 3]).should be_a MongoDB::QueryExpression
52
52
  end
53
53
 
54
+ it 'checks for existence in an array' do
55
+ (attribute.any?).to_db.should == { attribute_name: { '$ne' => [] } }
56
+ end
57
+
58
+ it 'checks for nonexistence in an array' do
59
+ (attribute.none?).to_db.should == { attribute_name: [] }
60
+ end
61
+
54
62
  it 'checks for its own truthiness' do
55
63
  attribute.to_db.should == ((attribute != false) & (attribute != nil)).to_db
56
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perpetuity-mongodb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta
4
+ version: 1.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Gaskins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-15 00:00:00.000000000 Z
11
+ date: 2014-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: moped
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '1.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '1.0'
83
83
  description: MongoDB adapter for Perpetuity
84
84
  email:
85
85
  - jgaskins@gmail.com
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  version: 1.3.1
135
135
  requirements: []
136
136
  rubyforge_project:
137
- rubygems_version: 2.0.6
137
+ rubygems_version: 2.2.2
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: MongoDB adapter for Perpetuity
@@ -150,3 +150,4 @@ test_files:
150
150
  - spec/support/test_classes/book.rb
151
151
  - spec/support/test_classes/car.rb
152
152
  - spec/support/test_classes/user.rb
153
+ has_rdoc: