Class: KPM::TenantConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/kpm/tenant_config.rb

Constant Summary collapse

KILLBILL_HOST =

Killbill server

ENV['KILLBILL_HOST'] || '127.0.0.1'
KILLBILL_URL =
"http://#{KILLBILL_HOST}:8080"
KILLBILL_USER =

USER/PWD

ENV['KILLBILL_USER'] || 'admin'
KILLBILL_PASSWORD =
ENV['KILLBILL_PASSWORD'] || 'password'
KILLBILL_API_KEY =

TENANT KEY

ENV['KILLBILL_API_KEY'] || 'bob'
KILLBILL_API_SECRET =
ENV['KILLBILL_API_SECRET'] || 'lazar'
TMP_DIR_PEFIX =

Temporary directory

'killbill'
TMP_DIR =
Dir.mktmpdir(TMP_DIR_PEFIX)
KEY_PREFIXES =

Tenant key prefixes

%w[PLUGIN_CONFIG PUSH_NOTIFICATION_CB PER_TENANT_CONFIG
PLUGIN_PAYMENT_STATE_MACHINE CATALOG OVERDUE_CONFIG
INVOICE_TRANSLATION CATALOG_TRANSLATION INVOICE_TEMPLATE INVOICE_MP_TEMPLATE].freeze

Instance Method Summary collapse

Constructor Details

#initialize(killbill_api_credentials = nil, killbill_credentials = nil, killbill_url = nil, logger = nil) ⇒ TenantConfig



30
31
32
33
34
35
36
37
38
39
# File 'lib/kpm/tenant_config.rb', line 30

def initialize(killbill_api_credentials = nil, killbill_credentials = nil, killbill_url = nil, logger = nil)
  @killbill_api_key = KILLBILL_API_KEY
  @killbill_api_secret = KILLBILL_API_SECRET
  @killbill_url = KILLBILL_URL
  @killbill_user = KILLBILL_USER
  @killbill_password = KILLBILL_PASSWORD
  @logger = logger

  set_killbill_options(killbill_api_credentials, killbill_credentials, killbill_url)
end

Instance Method Details

#export(key_prefix = nil) ⇒ Object

Raises:

  • (ArgumentError)


41
42
43
44
45
46
47
48
49
50
51
# File 'lib/kpm/tenant_config.rb', line 41

def export(key_prefix = nil)
  export_data = fetch_export_data(key_prefix)

  raise ArgumentError, "Data for key_prefix=#{key_prefix} not found" if export_data.empty?

  export_file = store_into_file(export_data)

  @logger.info "\e[32mData exported under #{export_file}\e[0m"

  export_file
end