module Errapi

Constants

VERSION

Public Class Methods

config(name = nil) click to toggle source
# File lib/errapi.rb, line 28
def self.config name = nil
  init_configs[name || :default]
end
configure(*args, &block) click to toggle source
# File lib/errapi.rb, line 9
def self.configure *args, &block

  options = args.last.kind_of?(Hash) ? args.pop : {}
  name = args.shift || :default

  init_configs
  if @configs[name]
    raise ArgumentError, %/Configuration "#{name}" has already been configured./
  else
    @configs[name] = options[:config] || Configuration.new
  end

  if options.fetch :defaults, true
    default_config! @configs[name]
  end

  @configs[name].configure &block
end

Private Class Methods

default_config!(config) click to toggle source
# File lib/errapi.rb, line 38
def self.default_config! config
  config.plugin Errapi::Plugins::I18nMessages.new
  config.plugin Errapi::Plugins::Reason.new
  config.plugin Errapi::Plugins::Location.new
  config.validation_factory Errapi::Validations::Exclusion::Factory.new
  config.validation_factory Errapi::Validations::Format::Factory.new
  config.validation_factory Errapi::Validations::Inclusion::Factory.new
  config.validation_factory Errapi::Validations::Length::Factory.new
  config.validation_factory Errapi::Validations::Presence::Factory.new
  config.validation_factory Errapi::Validations::Trim::Factory.new
  config.validation_factory Errapi::Validations::Type::Factory.new
  config.condition_factory Errapi::Condition::SimpleCheck
  config.condition_factory Errapi::Condition::ErrorCheck
end
init_configs() click to toggle source
# File lib/errapi.rb, line 34
def self.init_configs
  @configs ? @configs : @configs = {}
end