class SingularityClient::Config

Wrapper around the config object

Attributes

options[RW]

Public Class Methods

new(inputs = {}) click to toggle source
# File lib/singularity_client/config.rb, line 11
def initialize(inputs = {})
  @options = ConfigLoader.load_from_file(inputs['config'], inputs['debug'])
  @options = @options.merge(inputs)

  puts "DEBUG: Current configuration: #{@options}" if debug

  validate_config
end

Public Instance Methods

base_uri() click to toggle source
# File lib/singularity_client/config.rb, line 20
def base_uri
  "#{@options['singularity_url']}:#{@options['singularity_port']}"
end
debug() click to toggle source
# File lib/singularity_client/config.rb, line 28
def debug
  @options.key? 'debug'
end
organization() click to toggle source
# File lib/singularity_client/config.rb, line 24
def organization
  @options['github_organization']
end

Private Instance Methods

validate_config() click to toggle source
# File lib/singularity_client/config.rb, line 34
    def validate_config
      required_fields = %w(
        singularity_url
        singularity_port
      )

      required_fields.all? do |field|
        if @options.key? field
          true
        else
          fail <<-ERR.gsub(/^[\s\t]*/, '').gsub(/[\s\t]*\n/, ' ').strip
            #{field} not defined. Please see
            https://github.com/behance/singularity_client#configuration
            for configuration options
          ERR
        end
      end
    end