Module: Errapi

Defined in:
lib/errapi.rb,
lib/errapi.rb,
lib/errapi/model.rb,
lib/errapi/errors.rb,
lib/errapi/configuration.rb,
lib/errapi/locations/json.rb,
lib/errapi/locations/none.rb,
lib/errapi/validator_proxy.rb,
lib/errapi/locations/dotted.rb,
lib/errapi/object_validator.rb,
lib/errapi/single_validator.rb,
lib/errapi/location_builders.rb

Defined Under Namespace

Modules: LocationBuilders, Locations, Model, Plugins, Utils, Validations Classes: Condition, Configuration, Error, ObjectValidator, SingleValidator, ValidationContext, ValidationDefinitionInvalid, ValidationError, ValidationErrorInvalid, ValidationFailed, ValidatorProxy

Constant Summary collapse

VERSION =
'0.1.3'

Class Method Summary collapse

Class Method Details

.config(name = nil) ⇒ Object



28
29
30
# File 'lib/errapi.rb', line 28

def self.config name = nil
  init_configs[name || :default]
end

.configure(*args, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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