class Centralpos::Transaction

Constants

MD5_DIGEST
UPDATABLE_VALUES

Attributes

amount[R]
applied[R]
card_error_code[R]
id[R]
message[R]
optional_data_1[R]
optional_data_2[R]
owner_id[R]

Public Class Methods

load_it(data) click to toggle source
# File lib/centralpos/transaction.rb, line 8
def self.load_it(data)
  data.merge!({
    owner_id:data[:id_user],
    cc_number:data[:nro_tarjeta],
    amount: data[:importe],
    optional_data_1: data[:dato_opcional],
    optional_data_2: data[:dato_opcional2],
    applied: data[:aplicado],
    message: data[:observaciones],
    card_error_code: data[:cod_error_tarjeta]
  })
  new(data)
end
new(owner_id:, cc_number:, amount:, optional_data_1: "", optional_data_2: "", **extras) click to toggle source
# File lib/centralpos/transaction.rb, line 22
def initialize(owner_id:, cc_number:, amount:, optional_data_1: "", optional_data_2: "", **extras)
  @id = md5("#{owner_id}-#{cc_number}")
  @owner_id = owner_id.to_i
  @cc_number = cc_number
  @amount = amount.to_s
  @optional_data_1 = optional_data_1
  @optional_data_2 = optional_data_2
  @extras = extras
  @applied = @extras[:applied]
  @message = @extras[:message]
  @card_error_code = @extras[:card_error_code]
end

Public Instance Methods

invalid?() click to toggle source
# File lib/centralpos/transaction.rb, line 44
def invalid?
  @owner_id.empty? || @cc_number.empty? || !@amount || @amount <= 0.0
end
to_add_params() click to toggle source
# File lib/centralpos/transaction.rb, line 59
def to_add_params
  {
    "DatoOpcional1" => @optional_data_1,
    "DatoOpcional2" => @optional_data_2,
    "IdUser"        => @owner_id,
    "NroTarjeta"    => @cc_number,
    "Importe"       => @amount
  }
end
to_hash() click to toggle source
# File lib/centralpos/transaction.rb, line 48
def to_hash
  {
    id: id,
    owner_id: owner_id,
    amount: @amount,
    optional_data_1: @optional_data_1,
    optional_data_2: @optional_data_2,
    applied: @applied
  }
end
to_remove_params() click to toggle source
# File lib/centralpos/transaction.rb, line 69
def to_remove_params
  {
    "IdUser" => owner_id
  }
end
valid?() click to toggle source
# File lib/centralpos/transaction.rb, line 40
def valid?
  !invalid?
end

Private Instance Methods

attr_inspect() click to toggle source
# File lib/centralpos/transaction.rb, line 77
def attr_inspect
  [ :id ]
end
cc_number() click to toggle source
# File lib/centralpos/transaction.rb, line 81
def cc_number
  @cc_number
end
md5(string) click to toggle source
# File lib/centralpos/transaction.rb, line 85
def md5(string)
  MD5_DIGEST.hexdigest(string)
end