class KPM::TenantConfig
def call_client(key_prefix)
def call_client(key_prefix) KillBillClient.url = @killbill_url options = { :username => @killbill_user, :password => @killbill_password, :api_key => @killbill_api_key, :api_secret => @killbill_api_secrets } tenant_config_data = KillBillClient::Model::Tenant.search_tenant_config(key_prefix, options) tenant_config_data end
def export(key_prefix = nil)
def export(key_prefix = nil) export_data = fetch_export_data(key_prefix) if export_data.size == 0 raise Interrupt, 'key_prefix not found' end export_file = store_into_file(export_data) if not File.exist?(export_file) raise Interrupt, 'key_prefix not found' else @logger.info "\e[32mData exported under #{export_file}\e[0m" end export_file end
def fetch_export_data(key_prefix)
def fetch_export_data(key_prefix) tenant_config = [] pefixes = key_prefix.nil? ? KEY_PREFIXES : [key_prefix] pefixes.each do |prefix| config_data = call_client(prefix) if config_data.size > 0 config_data.each {|data| tenant_config << data } @logger.info "Data for key prefix \e[1m#{prefix.to_s}\e[0m was \e[1mfound and is ready to be exported\e[0m." else @logger.info "Data for key prefix \e[1m#{prefix.to_s}\e[0m was \e[31mnot found\e[0m." end end tenant_config end
def initialize(killbill_api_credentials = nil, killbill_credentials = nil, killbill_url = nil, logger = nil)
def initialize(killbill_api_credentials = nil, killbill_credentials = nil, killbill_url = nil, logger = nil) @killbill_api_key = KILLBILL_API_KEY @killbill_api_secrets = 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
def set_killbill_options(killbill_api_credentials, killbill_credentials, killbill_url)
def set_killbill_options(killbill_api_credentials, killbill_credentials, killbill_url) if not killbill_api_credentials.nil? @killbill_api_key = killbill_api_credentials[0] @killbill_api_secrets = killbill_api_credentials[1] end if not killbill_credentials.nil? @killbill_user = killbill_credentials[0] @killbill_password = killbill_credentials[1] end if not killbill_url.nil? @killbill_url = killbill_url end end
def store_into_file(export_data)
def store_into_file(export_data) export_file = TMP_DIR + File::SEPARATOR + 'kbdump' File.open(export_file, 'w') { |io| io.puts export_data.to_json } export_file end