Skip to content

Commit 67e35b1

Browse files
authored
fix save! did not use passed block (#174)
1 parent 1d0a4cf commit 67e35b1

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

lib/couch_potato/database.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ def save_document(document, options = {}, retries = 0, &block)
127127
alias save save_document
128128

129129
# saves a document, raises a CouchPotato::Database::ValidationsFailedError on failure
130-
def save_document!(document, options = {})
131-
save_document(document, options) || raise(ValidationsFailedError, document.errors.full_messages)
130+
def save_document!(document, options = {}, &block)
131+
save_document(document, options, &block) || raise(ValidationsFailedError, document.errors.full_messages)
132132
end
133133
alias save! save_document!
134134

spec/unit/database_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,14 @@ def set_errors
366366
end
367367
end
368368

369+
describe CouchPotato::Database, 'save_document!' do
370+
it 'calls the block if provided' do
371+
doc = double('doc').as_null_object
372+
373+
expect {|b| CouchPotato.database.save_document!(doc, &b)}.to yield_with_args(doc)
374+
end
375+
end
376+
369377
describe CouchPotato::Database, 'first' do
370378
before(:each) do
371379
@couchrest_db = double('couchrest db').as_null_object

0 commit comments

Comments
 (0)