module SearchKit::Configuration

Public Instance Methods

config() click to toggle source
# File lib/search_kit/configuration.rb, line 12
def config
  return @config if @config
  root   = UserConfig.new(".search-kit")
  yaml   = root['config.yml']
  config = OpenStruct.new

  yaml.each { |key, value| config.send("#{key}=", value) }
  @config = config
end
configure() { |config| ... } click to toggle source
# File lib/search_kit/configuration.rb, line 8
def configure
  yield(config) if block_given?
end
fetch(key) click to toggle source
# File lib/search_kit/configuration.rb, line 35
def fetch(key)
  ENV.fetch(key, show_config(key.downcase) || default(key.to_sym))
end
set_config(key, value) click to toggle source
# File lib/search_kit/configuration.rb, line 22
def set_config(key, value)
  root = UserConfig.new(".search-kit")
  yaml = root['config.yml']

  yaml[key] = value
  yaml.save
end
show_config(key) click to toggle source
# File lib/search_kit/configuration.rb, line 30
def show_config(key)
  root = UserConfig.new(".search-kit")
  root['config.yml'][key]
end

Private Instance Methods

default(key) click to toggle source
# File lib/search_kit/configuration.rb, line 41
def default(key)
  default_table = {
    APP_URI:     "http://gossamer-staging.qbox.io/api",
    APP_ENV:     "development",
    APP_DIR:     default_app_dir,
    APP_VERBOSE: true,
    LOG_DIR:     default_log_dir
  }.fetch(key, nil)
end
default_app_dir() click to toggle source
# File lib/search_kit/configuration.rb, line 51
def default_app_dir
  File.expand_path("../../", __dir__)
end
default_log_dir() click to toggle source
# File lib/search_kit/configuration.rb, line 55
def default_log_dir
  log_dir = File.join(default_app_dir, 'log')
  Dir.mkdir(log_dir) unless Dir.exist?(log_dir)

  log_dir
end