module Payment require_relative "payment/version" require_relative 'payment/errors' require_relative 'payment/base' require_relative 'payment/paratika_gateway' require_relative 'payment/test_gateway' require_relative 'payment/test_cards' require 'active_support/all' unless defined?(Rails) require 'csv' def self.config @config ||= OpenStruct.new end def self.configure yield(config) end def self.active? config.active end def self.adapter raise "Payment Module is not set" if Payment.config.adapter.nil? "Payment::#{config.adapter}".constantize end def self.print_log(msg) if defined?(Rails) && Rails.respond_to?(:logger) Rails.logger.error(msg) else require 'logger' logger = Logger.new(STDOUT) logger.error(msg) end end def self.debug_message(*args) self.print_log(args[2]) [(args[0] || { error: "Runtime error: Request failed" }), (args[1] || { error: "Runtime error: Response initializing failed", success: false })] end end