perpetuity-mongodb 1.0.0.beta → 1.0.0.beta2

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 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: