Class: MerchantSidekick::Payment
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- MerchantSidekick::Payment
- Defined in:
- lib/merchant_sidekick/payment.rb
Direct Known Subclasses
Class Method Summary collapse
-
.class_for(payment_object) ⇒ Object
Determines which payment class to use based on the payment object passed.
- .content_column_names ⇒ Object
Instance Method Summary collapse
-
#content_attributes ⇒ Object
return only attributes with relevant content.
-
#content_column_names ⇒ Object
returns content column name strings.
-
#payment_type ⇒ Object
override in sublcass infers payment.
-
#success? ⇒ Boolean
returns true if the payment transaction was successful.
Class Method Details
.class_for(payment_object) ⇒ Object
Determines which payment class to use based on the payment object passed. overriden this if other payment types must be supported, e.g. for bank transfer, etc.
E.g.
Payment.class_for(ActiveMerchant::Billing::CreditCard.new(...))
#=> MerchantSidekick::ActiveMerchant::CreditCardPayment
25 26 27 |
# File 'lib/merchant_sidekick/payment.rb', line 25 def self.class_for(payment_object) MerchantSidekick::ActiveMerchant::CreditCardPayment end |
.content_column_names ⇒ Object
29 30 31 |
# File 'lib/merchant_sidekick/payment.rb', line 29 def self.content_column_names content_columns.map(&:name) - %w(payable_type payable_id kind reference message action params test cents currency lock_version position type uuid created_at updated_at success) end |
Instance Method Details
#content_attributes ⇒ Object
return only attributes with relevant content
47 48 49 |
# File 'lib/merchant_sidekick/payment.rb', line 47 def content_attributes self.attributes.reject {|k,v| !self.content_column_names.include?(k.to_s)}.symbolize_keys end |
#content_column_names ⇒ Object
returns content column name strings
52 53 54 |
# File 'lib/merchant_sidekick/payment.rb', line 52 def content_column_names self.class.content_column_names end |
#payment_type ⇒ Object
override in sublcass infers payment
37 38 39 |
# File 'lib/merchant_sidekick/payment.rb', line 37 def payment_type :payment end |
#success? ⇒ Boolean
returns true if the payment transaction was successful
42 43 44 |
# File 'lib/merchant_sidekick/payment.rb', line 42 def success? !!(self[:success] || false) end |