Skip to content

Instantly share code, notes, and snippets.

@nateberkopec
Created December 10, 2014 20:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nateberkopec/f757f518a09c887dd7b3 to your computer and use it in GitHub Desktop.
Save nateberkopec/f757f518a09c887dd7b3 to your computer and use it in GitHub Desktop.
class Order < ActiveRecord::Base
has_one :payment
def complete
payment.complete
end
end
class Payment < ActiveRecord::Base
belongs_to :gateway_transaction
def complete
gateway_transaction.complete
end
end
class GatewayTransaction < ActiveRecord::Base
has_one :payment
def complete
errors.add(:base, 'Error!')
end
end
order = Order.new(payment: Payment.new(source: GatewayTransaction.new))
order.complete
order.save #returns true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment