lib/braintree_rails/persistence.rb in braintree-rails-0.3.0 vs lib/braintree_rails/persistence.rb in braintree-rails-0.4.0
- old
+ new
@@ -40,11 +40,11 @@
rescue RecordInvalid
false
end
def save!
- create_or_update || raise(RecordNotSaved)
+ create_or_update!
end
def update_attributes(attributes)
assign_attributes(attributes)
save
@@ -54,51 +54,49 @@
assign_attributes(attributes)
save!
end
def destroy
- destroy!
- rescue Braintree::NotFoundError
- self.persisted = false
- freeze
- end
- alias :delete :destroy
-
- def destroy!
if persisted?
self.class.braintree_model_class.delete(id)
end
- self.persisted = false
+ self.persisted = false unless frozen?
freeze
end
- alias :delete! :destroy!
+ alias :delete :destroy
+ alias :delete! :destroy
+ alias :destroy! :destroy
protected
def create_or_update
!!(new_record? ? create : update)
end
+ def create_or_update!
+ !!(new_record? ? create! : update!)
+ end
+
def create
with_update_braintree do
- self.class.braintree_model_class.create(attributes_for_create)
+ self.class.braintree_model_class.create(attributes_for(:create))
end
end
def create!
with_update_braintree do
- self.class.braintree_model_class.create!(attributes_for_create)
+ self.class.braintree_model_class.create!(attributes_for(:create))
end
end
def update
with_update_braintree do
- self.class.braintree_model_class.update(id, attributes_for_update)
+ self.class.braintree_model_class.update(id, attributes_for(:update))
end
end
def update!
with_update_braintree do
- self.class.braintree_model_class.update!(id, attributes_for_update)
+ self.class.braintree_model_class.update!(id, attributes_for(:update))
end
end
def with_update_braintree
raise RecordInvalid unless valid?
\ No newline at end of file