module Carload

Constants

VERSION

Public Class Methods

setup() { |config| ... } click to toggle source
# File lib/carload.rb, line 18
def self.setup &block
  # Read in configuration.
  @@config = ExtendedHash.new
  @@config[:page] = ExtendedHash.new
  @@config[:dashboard] = ExtendedHash.new
  @@config[:dashboard][:permits_user] = ExtendedHash.new
  yield @@config
  if not [:devise, :none].include? @@config[:auth_solution]
    raise UnsupportedError.new("authentication solution #{@@config[:auth_solution]}")
  end
  if not [:carrierwave].include? @@config[:upload_solution]
    raise UnsupportedError.new("upload solution #{@@config[:upload_solution]}")
  end
  @@config[:search_engine] ||= :elasticsearch
  if not [:elasticsearch, :pg_search, :none].include? @@config[:search_engine]
    raise UnsupportedError.new("search engine #{@@config[:search_engine]}")
  end
  # Define configuation helpers.
  @@config.each do |key, value|
    define_singleton_method key do
      value
    end
  end
end