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