Sha256: 6dc8364bc874a3678433194361de2034a99e1c34f29214538bddbeb5ff501f2e

Contents?: true

Size: 1.38 KB

Versions: 7

Compression:

Stored size: 1.38 KB

Contents

module SsciInc
  class Configuration

    attr_accessor :base_uri,
                  :report_uri,
                  :site_identifier,
                  :account_code,
                  :user_name,
                  :password

    def base_uri
      @base_uri ||= 'https://linxml.com/bgcheck.asp'
    end

    def report_uri
      @report_uri ||= 'https://linxml.com/get_bgreport.asp'
    end

  end

  class << self
    attr_accessor :configuration

    def configuration
      @configuration ||= Configuration.new
    end
  end

  # Public: Configure ssci inc gem
  #
  # Examples
  #   SsciInc.configure do |config|
  #       base_uri: ********
  #       report_uri: ********
  #       site_identifier: ********
  #       account_code: ********
  #       user_name: ********
  #       password: ********
  #   end
  #
  def self.configure
    yield(configuration)
  end

  # Public: Configure ssci inc gem with yaml file
  #
  # file - The name of the file to parse. (optional)
  #        Defaults to "config/ssci_inc.yml".
  #
  # Examples
  #   SsciInc.load_config("ssci_inc.yml")
  #
  def self.load_config(file="config/ssci_inc.yml")
    if File.exists?(file)
      h = YAML::load(IO.read(file))
      load_config_hash(h)
    end
  end

  def self.load_config_hash(h)
    configure do |config|
      h.each do |k,v|
        config.send("#{k}=", v) if config.respond_to?("#{k}=")
      end
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ssci_inc-0.1.28 lib/ssci_inc/configuration.rb
ssci_inc-0.1.27 lib/ssci_inc/configuration.rb
ssci_inc-0.1.26 lib/ssci_inc/configuration.rb
ssci_inc-0.1.24 lib/ssci_inc/configuration.rb
ssci_inc-0.1.23 lib/ssci_inc/configuration.rb
ssci_inc-0.1.22 lib/ssci_inc/configuration.rb
ssci_inc-0.1.21 lib/ssci_inc/configuration.rb