module Zen::Service::Plugins::Validation

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/zen/service/plugins/validation.rb, line 20
        def initialize(*)
  super
  state.errors = errors_class.new
end
used(service_class, *) click to toggle source
# File lib/zen/service/plugins/validation.rb, line 16
def self.used(service_class, *)
  service_class.add_execution_prop(:errors)
end

Public Instance Methods

errors() click to toggle source
# File lib/zen/service/plugins/validation.rb, line 33
def errors
  state.errors
end
execute(*) click to toggle source
Calls superclass method
# File lib/zen/service/plugins/validation.rb, line 25
def execute(*)
  return super if valid?

  failure!(status: :invalid)

  self
end
valid?() click to toggle source
# File lib/zen/service/plugins/validation.rb, line 48
def valid?
  validate!
  errors.empty?
end
validate() click to toggle source
# File lib/zen/service/plugins/validation.rb, line 46
def validate; end

Private Instance Methods

clear_execution_state!() click to toggle source
Calls superclass method
# File lib/zen/service/plugins/validation.rb, line 53
        def clear_execution_state!
  super
  state.errors = errors_class.new
end
errors_class() click to toggle source
# File lib/zen/service/plugins/validation.rb, line 37
        def errors_class
  self.class.plugins[:validation].options[:errors_class]
end
validate!() click to toggle source
# File lib/zen/service/plugins/validation.rb, line 41
        def validate!
  errors.clear
  validate
end