Sha256: e6751540d896be57ede369a7de949a6a80be886f1f1676a975eb70a282f20795
Contents?: true
Size: 1.35 KB
Versions: 40
Compression:
Stored size: 1.35 KB
Contents
module Brightbox module Config class ApiClient NON_BLANK_KEYS = %w(api_url client_id secret) attr_accessor :selected_config, :client_name def initialize(incoming_config, client_name) @selected_config = incoming_config @client_name = client_name end def to_fog check_required_params { :provider => 'Brightbox', :brightbox_api_url => selected_config['api_url'], :brightbox_auth_url => selected_config['auth_url'] || selected_config['api_url'], :brightbox_client_id => selected_config['client_id'], :brightbox_secret => selected_config['secret'], :persistent => persistent? } end def valid? NON_BLANK_KEYS.all? do |key| selected_config.key?(key) && !selected_config[key].to_s.empty? end end private def persistent? if selected_config["persistent"] == "false" false else true end end def check_required_params unless valid? NON_BLANK_KEYS.each do |key| unless selected_config.key?(key) && !selected_config[key].to_s.empty? raise Brightbox::BBConfigError, "#{key} option missing from config in section #{client_name}" end end end end end end end
Version data entries
40 entries across 40 versions & 1 rubygems