class Ki::KiConfig

Attributes

config[R]
environment[R]
logger[RW]

Public Instance Methods

config_file_path() click to toggle source
# File lib/ki/ki_config.rb, line 18
def config_file_path
  'config.yml'
end
cors?() click to toggle source
# File lib/ki/ki_config.rb, line 22
def cors?
  @config['cors']
end
database() click to toggle source
# File lib/ki/ki_config.rb, line 40
def database
  @config['database']
end
middleware() click to toggle source
# File lib/ki/ki_config.rb, line 26
def middleware
  used_middleware = %w[ApiHandler CoffeeCompiler SassCompiler HamlCompiler
                       PublicFileServer]
  used_middleware = @config['middleware'] if @config['middleware']

  used_middleware = add_rm_middleware used_middleware, 'add_middleware', 'push'
  used_middleware = add_rm_middleware used_middleware, 'rm_middleware', 'delete'

  # convert middleware to ruby object
  used_middleware.uniq.map do |middleware|
    Object.const_get('Ki').const_get('Middleware').const_get(middleware)
  end
end
read(environment) click to toggle source
# File lib/ki/ki_config.rb, line 12
def read(environment)
  @environment = environment
  @config = YAML.load_file(config_file_path)[environment]
  @config['cors'] ||= true
end

Private Instance Methods

add_rm_middleware(used_middleware, key, action) click to toggle source
# File lib/ki/ki_config.rb, line 46
def add_rm_middleware(used_middleware, key, action)
  if @config.key?(key)
    # TODO: concat should work here
    @config[key] = [@config[key]] if @config[key].class != Array
    @config[key].each do |mid|
      used_middleware.send(action, mid)
    end
  end
  used_middleware
end