class Bluepay::TransactionBase

Attributes

source[RW]

Public Class Methods

create!(params={}) click to toggle source
# File lib/bluepay/transaction_base.rb, line 12
def self.create!(params={})
  new(params).create!
end
new(*args) click to toggle source
Calls superclass method Bluepay::Base::new
# File lib/bluepay/transaction_base.rb, line 7
def initialize(*args)
  super(*args)
  self.source = params.delete(:source)
end

Public Instance Methods

create!() click to toggle source
# File lib/bluepay/transaction_base.rb, line 16
def create!
  @request = Request.new(self)
  @response = request.execute!

  _params = response.params
  (class << self; self; end).class_eval do
    _params.each { |k, v| define_method(k) { v } }
  end
  self
end
request_params() click to toggle source
# File lib/bluepay/transaction_base.rb, line 40
def request_params
  _params = bluepay_params
  _params.merge!(source.bluepay_params) if source
  _params.merge!(tps(
    :transaction_type,
    :amount,
    :rebilling,
    :reb_first_date,
    :reb_expr,
    :reb_cycles,
    :reb_amount,
    :rrno,
    :mode
  ))
  _params
end
to_h() click to toggle source
# File lib/bluepay/transaction_base.rb, line 27
def to_h
  response.data
end