Class: Ohm::Validations::Presenter
Defined Under Namespace
Classes: UnhandledErrors
Instance Method Summary (collapse)
- - (Object) handle(error) protected
- - (Object) ignore(error)
-
- (Presenter) initialize(errors)
constructor
A new instance of Presenter.
- - (Object) on(error, message = (block_given? ? yield : raise(ArgumentError)))
- - (Object) present {|_self| ... }
Constructor Details
- (Presenter) initialize(errors)
A new instance of Presenter
18 19 20 21 22 |
# File 'lib/ohm/validations.rb', line 18 def initialize(errors) @errors = errors @unhandled = errors.dup @output = [] end |
Instance Method Details
- (Object) handle(error) (protected)
42 43 44 45 46 47 |
# File 'lib/ohm/validations.rb', line 42 def handle(error) if (errors = @errors.select {|e| error === e }).any? @unhandled -= errors yield(errors) if block_given? end end |
- (Object) ignore(error)
30 31 32 |
# File 'lib/ohm/validations.rb', line 30 def ignore(error) handle(error) end |
- (Object) on(error, message = (block_given? ? yield : raise(ArgumentError)))
24 25 26 27 28 |
# File 'lib/ohm/validations.rb', line 24 def on(error, = (block_given? ? yield : raise(ArgumentError))) handle(error) do @output << end end |
- (Object) present {|_self| ... }
34 35 36 37 38 |
# File 'lib/ohm/validations.rb', line 34 def present yield(self) raise UnhandledErrors.new(@unhandled) unless @unhandled.empty? @output end |