Sha256: 57d99b6456183f7baa2c8c2d92d5885893c15746ed3907ecc16aadb989be5d43

Contents?: true

Size: 589 Bytes

Versions: 19

Compression:

Stored size: 589 Bytes

Contents

module Opay
  class Payment < ActiveRecord::Base
    belongs_to :payable, polymorphic: true
    # attr_accessible :provider, :amount, :finished, :session_id, :status
    validates :payable, :provider, :amount, presence: true

    before_create do |p|
      p.session_id = Payment.generate_session_id
    end

    def self.generate_session_id
      # Generate a token by looping and ensuring does not already exist.
      loop do
        token = SecureRandom.base64(15).tr('+/=lIO0', 'pqrsxyz')
        break token unless Payment.where(session_id: token).first
      end
    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
opay-1.3.2 app/models/opay/payment.rb
opay-1.3.1 app/models/opay/payment.rb
opay-1.3.0 app/models/opay/payment.rb
opay-1.2.8 app/models/opay/payment.rb
opay-1.2.7 app/models/opay/payment.rb
opay-1.2.6 app/models/opay/payment.rb
opay-1.2.5 app/models/opay/payment.rb
opay-1.2.4 app/models/opay/payment.rb
opay-1.2.3 app/models/opay/payment.rb
opay-1.2.2 app/models/opay/payment.rb
opay-1.2.1 app/models/opay/payment.rb
opay-1.2.0 app/models/opay/payment.rb
opay-1.1.6 app/models/opay/payment.rb
opay-1.1.5 app/models/opay/payment.rb
opay-1.1.4 app/models/opay/payment.rb
opay-1.1.3 app/models/opay/payment.rb
opay-1.1.2 app/models/opay/payment.rb
opay-1.1.1 app/models/opay/payment.rb
opay-1.1.0 app/models/opay/payment.rb