Module: Killbill::Plugin::ActiveMerchant

Defined in:
lib/killbill/helpers/active_merchant.rb,
lib/killbill/helpers/active_merchant/utils.rb,
lib/killbill/helpers/active_merchant/gateway.rb,
lib/killbill/helpers/active_merchant/sinatra.rb,
lib/killbill/helpers/active_merchant/properties.rb,
lib/killbill/helpers/active_merchant/active_record.rb,
lib/killbill/helpers/active_merchant/configuration.rb,
lib/killbill/helpers/active_merchant/payment_plugin.rb,
lib/killbill/helpers/active_merchant/killbill_spec_helper.rb,
lib/killbill/helpers/active_merchant/private_payment_plugin.rb,
lib/killbill/helpers/active_merchant/active_record/models/helpers.rb,
lib/killbill/helpers/active_merchant/active_record/models/response.rb,
lib/killbill/helpers/active_merchant/active_record/models/transaction.rb,
lib/killbill/helpers/active_merchant/active_record/active_record_helper.rb,
lib/killbill/helpers/active_merchant/active_record/models/payment_method.rb,
lib/killbill/helpers/active_merchant/active_record/models/streamy_result_set.rb

Defined Under Namespace

Modules: ActiveRecord, ActiveRecordHelper, Helpers, RSpec, Sinatra Classes: Gateway, PaymentPlugin, PrivatePaymentPlugin, Properties, Utils

Class Method Summary collapse

Class Method Details

.config(kb_tenant_id = nil) ⇒ Object

To be kept in sync with sinatra.rb



53
54
55
# File 'lib/killbill/helpers/active_merchant/configuration.rb', line 53

def config(kb_tenant_id=nil)
  @@glob_config.merge(get_tenant_config(kb_tenant_id) || {})
end

.converted_currency(currency, kb_tenant_id = nil) ⇒ Object



57
58
59
60
61
# File 'lib/killbill/helpers/active_merchant/configuration.rb', line 57

def converted_currency(currency, kb_tenant_id=nil)
  currency_sym = currency.to_s.upcase.to_sym
  tmp = currency_conversions(kb_tenant_id)
  tmp && tmp[currency_sym]
end

.currency_conversions(kb_tenant_id = nil) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/killbill/helpers/active_merchant/configuration.rb', line 43

def currency_conversions(kb_tenant_id=nil)
  tenant_config = get_tenant_config(kb_tenant_id)
  if tenant_config
    tenant_config[:currency_conversions]
  else
    @@glob_currency_conversions
  end
end

.gateways(kb_tenant_id = nil) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/killbill/helpers/active_merchant/configuration.rb', line 35

def gateways(kb_tenant_id=nil)
  if @@per_tenant_gateways_cache[kb_tenant_id].nil?
    tenant_config = get_tenant_config(kb_tenant_id)
    @@per_tenant_gateways_cache[kb_tenant_id] = extract_gateway_config(tenant_config)
  end
  @@per_tenant_gateways_cache[kb_tenant_id]
end

.initialize!(gateway_builder, gateway_name, logger, config_key_name, config_file, kb_apis) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/killbill/helpers/active_merchant/configuration.rb', line 23

def initialize!(gateway_builder, gateway_name, logger, config_key_name, config_file, kb_apis)
  @@logger = logger
  @@kb_apis = kb_apis
  @@gateway_name = gateway_name
  @@gateway_builder = gateway_builder
  @@config_key_name = config_key_name
  @@per_tenant_config_cache = ThreadSafe::Cache.new
  @@per_tenant_gateways_cache = ThreadSafe::Cache.new

  initialize_from_global_config!(config_file)
end

.invalidate_tenant_config!(kb_tenant_id) ⇒ Object



63
64
65
66
67
# File 'lib/killbill/helpers/active_merchant/configuration.rb', line 63

def invalidate_tenant_config!(kb_tenant_id)
  @@logger.info("Invalidate plugin key #{@@config_key_name}, tenant = #{kb_tenant_id}")
  @@per_tenant_config_cache[kb_tenant_id] = nil
  @@per_tenant_gateways_cache[kb_tenant_id] = nil
end