Sha256: 400a6d49677dfda0633301bcd58cbee07a543320a5edf5c6ac5e68a66a2fe189
Contents?: true
Size: 911 Bytes
Versions: 3
Compression:
Stored size: 911 Bytes
Contents
require "active_support/concern" module PuntoPagosRails module Payable extend ActiveSupport::Concern attr_reader :payment_method PAYMENT_STATES = %w{pending completed rejected} included do extend Enumerize has_many :transactions, as: :payable, class_name: "PuntoPagosRails::Transaction" enumerize :payment_state, in: PAYMENT_STATES, default: :pending, predicates: true, scope: true, prefix: false def paid? completed? end def payment_method=(value) value = value.to_i @payment_method = value.zero? ? nil : value end end module ClassMethods def by_token(token) transaction = Transaction.find_by(token: token) transaction.try(:payable) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
punto_pagos_rails-1.6.0 | lib/punto_pagos_rails/payable.rb |
punto_pagos_rails-1.5.0 | lib/punto_pagos_rails/payable.rb |
punto_pagos_rails-1.4.0 | lib/punto_pagos_rails/payable.rb |