Sha256: cd82be9cfb803ee0bebafcd2444eabda0eb78eb31546ed65c4bbafd271a4b723

Contents?: true

Size: 572 Bytes

Versions: 1

Compression:

Stored size: 572 Bytes

Contents

module Supercharged::Helpers

  @gateways = {}

  def self.gateway(name)
    @gateways[name.to_sym] || raise("Gateway not registered")
  end

  def self.init_gateway(name, options)
    klass = gateway_class_by_name(name)
    gateway = klass.new(options)
    add_gateway(name, gateway)
  end

  private

	def self.gateway_class_by_name(name)
    "ActiveMerchant::Billing::#{name.to_s.camelcase}Gateway".classify.constantize
  rescue NameError
    raise "Unknown gateway '#{name}'"
  end

  def self.add_gateway(name, gateway)
    @gateways[name.to_sym] = gateway
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
supercharged-2.0.0 lib/supercharged/helpers.rb