mince_dynamo_db 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -60,10 +60,6 @@ module MinceDynamoDb # :nodoc:
60
60
  raise %(The method `MinceDynamoDb::DataStore.singleton.delete_field` is not implemented, you should implement it for us!)
61
61
  end
62
62
 
63
- def delete_by_params(collection_name, params)
64
- raise %(The method `MinceDynamoDb::DataStore.singleton.delete_by_params` is not implemented, you should implement it for us!)
65
- end
66
-
67
63
  def delete_collection(collection_name)
68
64
  raise %(The method `MinceDynamoDb::DataStore.singleton.delete_collection` is not implemented, you should implement it for us!)
69
65
  end
@@ -200,6 +196,12 @@ module MinceDynamoDb # :nodoc:
200
196
  array_to_hash items(collection_name).where(key.to_sym).contains(value)
201
197
  end
202
198
 
199
+ # Deletes a record that matches the given criteria from the data store.
200
+ def delete_by_params(collection_name, params)
201
+ item = items(collection_name).where(params).first
202
+ item.delete
203
+ end
204
+
203
205
  # Clears the data store.
204
206
  # Mainly used for rolling back the data store in tests.
205
207
  def clear
@@ -1,3 +1,3 @@
1
1
  module MinceDynamoDb
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -78,6 +78,14 @@ describe MinceDynamoDb::DataStore do
78
78
  subject.find(collection_name, field, value).should == hash
79
79
  end
80
80
 
81
+ it 'can delete a record that matches a criteria' do
82
+ params = mock 'params'
83
+ items.should_receive(:where).with(params).and_return([return_data])
84
+ return_data.should_receive(:delete)
85
+
86
+ subject.delete_by_params(collection_name, params)
87
+ end
88
+
81
89
  it 'can clear the data store' do
82
90
  item = mock 'item', delete: nil
83
91
  item2 = mock 'item 2', delete: nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mince_dynamo_db
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: