lib/litle/config/configuration.rb in killbill-litle-1.1.1 vs lib/litle/config/configuration.rb in killbill-litle-1.2.0

- old
+ new

@@ -1,11 +1,11 @@ require 'logger' module Killbill::Litle mattr_reader :logger mattr_reader :config - mattr_reader :gateway + mattr_reader :gateways mattr_reader :kb_apis mattr_reader :initialized mattr_reader :test def self.initialize!(logger=Logger.new(STDOUT), conf_dir=File.expand_path('../../../', File.dirname(__FILE__)), kb_apis = nil) @@ -15,19 +15,25 @@ config_file = "#{conf_dir}/litle.yml" @@config = Properties.new(config_file) @@config.parse! @@test = @@config[:litle][:test] - @@gateway = Killbill::Litle::Gateway.instance - @@gateway.configure(@@config[:litle]) + @@gateways = Killbill::Litle::Gateway.from_config(@@config[:litle]) if defined?(JRUBY_VERSION) # See https://github.com/jruby/activerecord-jdbc-adapter/issues/302 require 'jdbc/mysql' Jdbc::MySQL.load_driver(:require) if Jdbc::MySQL.respond_to?(:load_driver) end ActiveRecord::Base.establish_connection(@@config[:database]) @@initialized = true + end + + def self.gateway_for_currency(currency) + currency_sym = currency.respond_to?(:enum) ? currency.enum.upcase.to_sym : currency.to_s.upcase.to_sym + gateway = @@gateways[currency_sym] + raise "Gateway for #{currency} not configured!" if gateway.nil? + gateway end end