Sha256: 7ef553262bda7501a5806b932f489b750d9e57c9bacf2156a02e01e1c33b8b28

Contents?: true

Size: 1.29 KB

Versions: 27

Compression:

Stored size: 1.29 KB

Contents

# frozen_string_literal: true

module LeapSalesforce
  # For loading dependent code based on configuration
  module Loader
    # @return [String] Location of leap_salesforce YAML file
    LEAP_CONFIG_FILE = '.leap_salesforce.yml'
    class << self
      # Set LeapSalesforce property if it exists
      def set_leaps_property(key, value)
        if LeapSalesforce.respond_to? "#{key}="
          if %w[SF_CONSUMER_KEY client_id client_secret password].include? key
            LeapSalesforce.logger.warn "Secret key '#{key}' should be in non version" \
            " controlled #{LeapSalesforce::CREDENTIAL_FILE} not in #{LEAP_CONFIG_FILE}"
          end
          LeapSalesforce.send("#{key}=", value)
        else
          LeapSalesforce.logger.warn "No property for '#{key}' from '#{LEAP_CONFIG_FILE}'"
        end
      end

      # Load configuration file and set properties based on it
      def load_config_file
        if File.exist? LEAP_CONFIG_FILE
          leap_config = YAML.load_file LEAP_CONFIG_FILE
          LeapSalesforce.soql_objects = leap_config.delete('soql_objects')
          leap_config.each { |key, value| set_leaps_property(key, value) }
        else
          LeapSalesforce.logger.warn "No config file found at '#{LEAP_CONFIG_FILE}' for Leap Salesforce"
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
leap_salesforce-1.5.0 lib/leap_salesforce/loader.rb
leap_salesforce-1.4.4 lib/leap_salesforce/loader.rb
leap_salesforce-1.4.3 lib/leap_salesforce/loader.rb
leap_salesforce-1.4.2 lib/leap_salesforce/loader.rb
leap_salesforce-1.4.1 lib/leap_salesforce/loader.rb
leap_salesforce-1.4.0 lib/leap_salesforce/loader.rb
leap_salesforce-1.3.1 lib/leap_salesforce/loader.rb
leap_salesforce-1.3.0 lib/leap_salesforce/loader.rb
leap_salesforce-1.2.2 lib/leap_salesforce/loader.rb
leap_salesforce-1.2.1 lib/leap_salesforce/loader.rb
leap_salesforce-1.2.0 lib/leap_salesforce/loader.rb
leap_salesforce-1.1.2 lib/leap_salesforce/loader.rb
leap_salesforce-1.1.1 lib/leap_salesforce/loader.rb
leap_salesforce-1.1.0 lib/leap_salesforce/loader.rb
leap_salesforce-1.0.5 lib/leap_salesforce/loader.rb
leap_salesforce-1.0.4 lib/leap_salesforce/loader.rb
leap_salesforce-1.0.3 lib/leap_salesforce/loader.rb
leap_salesforce-1.0.2 lib/leap_salesforce/loader.rb
leap_salesforce-1.0.1 lib/leap_salesforce/loader.rb
leap_salesforce-1.0.0 lib/leap_salesforce/loader.rb