Class: NextStation::Operation::ErrorsDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/next_station/operation/errors.rb

Overview

DSL for defining multiple errors.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeErrorsDSL

Initializes a new ErrorsDSL.



82
83
84
# File 'lib/next_station/operation/errors.rb', line 82

def initialize
  @definitions = {}
end

Instance Attribute Details

#definitionsHash<Symbol, ErrorDefinition> (readonly)

Returns:



79
80
81
# File 'lib/next_station/operation/errors.rb', line 79

def definitions
  @definitions
end

Instance Method Details

#error_type(type) {|ErrorDefinition| ... } ⇒ Object

Defines a new error type.

Parameters:

  • type (Symbol)

    The error type.

Yields:



89
90
91
92
93
94
# File 'lib/next_station/operation/errors.rb', line 89

def error_type(type, &block)
  definition = ErrorDefinition.new(type)
  definition.instance_eval(&block) if block_given?
  definition.validate!
  @definitions[type] = definition
end