Class: Veritrans

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Api, Client
Defined in:
lib/veritrans/events.rb,
lib/veritrans.rb,
lib/veritrans/api.rb,
lib/veritrans/cli.rb,
lib/veritrans/client.rb,
lib/veritrans/config.rb,
lib/veritrans/result.rb,
lib/veritrans/version.rb,
lib/generators/veritrans/install_generator.rb,
lib/generators/veritrans/payment_form_generator.rb

Overview

For sinatra you can use Rack::URLMap

run Rack::URLMap.new("/" => MyApp.new, "/payment_events" => Veritrans::Events.new)

Defined Under Namespace

Modules: Api, CLI, Client Classes: Config, Events, InstallGenerator, PaymentFormGenerator, Result, SnapResult

Constant Summary collapse

VERSION =
"2.1.2"

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Api

#approve, #cancel, #capture, #charge, #create_snap_token, #create_vtlink, #delete_vtlink, #expire, #inquiry_points, #status

Methods included from Client

_json_decode, #_json_encode, _json_encode, #request_with_logging

Constructor Details

#initialize(options = nil) ⇒ Veritrans

Returns a new instance of Veritrans.



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/veritrans.rb', line 38

def initialize(options = nil)
  if options && options[:logger]
    self.logger = options.delete(:logger)
    options.delete("logger")
  end

  if options && options[:file_logger]
    self.file_logger = options.delete(:file_logger)
    options.delete("file_logger")
  end

  if options
    @config = Veritrans::Config.new(options)
  end
end

Class Method Details

.decode_notification_json(input) ⇒ Object



28
29
30
# File 'lib/veritrans.rb', line 28

def decode_notification_json(input)
  return Veritrans::Client._json_decode(input)
end

.eventsObject



24
25
26
# File 'lib/veritrans.rb', line 24

def events
  Veritrans::Events if defined?(Veritrans::Events)
end

.instanceObject



32
33
34
# File 'lib/veritrans.rb', line 32

def instance
  @instance ||= new
end

Instance Method Details

#config(&block) ⇒ Object Also known as: setup



54
55
56
57
58
59
60
# File 'lib/veritrans.rb', line 54

def config(&block)
  if block
    instance_eval(&block)
  else
    @config ||= Veritrans::Config.new
  end
end

#file_loggerObject

Logger to file, only important information For rails apps it will write log to RAILS_ROOT/log/veritrans.log



87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/veritrans.rb', line 87

def file_logger
  if !@file_logger
    if defined?(Rails) && Rails.root
      @file_logger = Logger.new(Rails.root.join("log/veritrans.log").to_s)
    else
      require 'logger'
      @file_logger = Logger.new("/dev/null")
    end
  end

  @file_logger
end

#file_logger=(value) ⇒ Object



100
101
102
# File 'lib/veritrans.rb', line 100

def file_logger=(value)
  @file_logger = value
end

#loggerObject

General logger for rails apps it’s === Rails.logger for non-rails apps it’s logging to stdout



67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/veritrans.rb', line 67

def logger
  return @logger if @logger
  if defined?(Rails)
    Rails.logger
  else
    unless @log
      require 'logger'
      @log = Logger.new(STDOUT)
      @log.level = Logger::INFO
    end
    @log
  end
end

#logger=(value) ⇒ Object



81
82
83
# File 'lib/veritrans.rb', line 81

def logger=(value)
  @logger = value
end