class StandaloneValidator::ValidationResult

Constants

OK

Attributes

validated_object[R]
violations[R]

Public Class Methods

build_for(object, &block) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 6
def self.build_for(object, &block)
  builder = ValidationResultBuilder.new
  builder.validated_object = object

  if block.arity == 1
    block.call(builder)
  else
    builder.instance_eval(&block)
  end

  builder.result
end
new(attributes) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 21
def initialize(attributes)
  @validated_object = attributes.fetch(:validated_object) { nil }

  violations  = attributes.fetch(:violations) { Hamster::EmptyList }
  @violations = violations.to_list
end

Public Instance Methods

[](attribute) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 54
def [](attribute)
  violations.select do |violation|
    violation.attribute == attribute
  end
end
add_errors_to(errors_object) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 30
def add_errors_to(errors_object)
  violations.each do |violation|
    violation.add_to(errors_object)
  end

  self
end
each(&block) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 40
def each(&block)
  violations.each(&block)
end
empty?() click to toggle source
# File lib/standalone_validator/validation_result.rb, line 44
def empty?
  violations.empty?
end
of_type(type) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 60
def of_type(type)
  subset { |violation| violation.type == type }
end
ok?() click to toggle source
# File lib/standalone_validator/validation_result.rb, line 48
def ok?
  violations.empty?
end
Also aliased as: valid?
on_attribute(attribute) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 64
def on_attribute(attribute)
  subset { |violation| violation.attribute == attribute }
end
valid?()
Alias for: ok?

Private Instance Methods

subset(&block) click to toggle source
# File lib/standalone_validator/validation_result.rb, line 70
def subset(&block)
  self.class.new(:violations       => violations.select(&block),
                 :validated_object => validated_object)
end