Class: StandaloneValidator::ValidationResult
- Inherits:
-
Object
- Object
- StandaloneValidator::ValidationResult
- Includes:
- Enumerable
- Defined in:
- lib/standalone_validator/validation_result.rb
Constant Summary collapse
- OK =
new({})
Instance Attribute Summary collapse
-
#validated_object ⇒ Object
readonly
Returns the value of attribute validated_object.
-
#violations ⇒ Object
readonly
Returns the value of attribute violations.
Class Method Summary collapse
Instance Method Summary collapse
- #[](attribute) ⇒ Object
- #add_errors_to(errors_object) ⇒ Object
- #each(&block) ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(attributes) ⇒ ValidationResult
constructor
A new instance of ValidationResult.
- #of_type(type) ⇒ Object
- #ok? ⇒ Boolean (also: #valid?)
- #on_attribute(attribute) ⇒ Object
Constructor Details
#initialize(attributes) ⇒ ValidationResult
Returns a new instance of ValidationResult.
21 22 23 24 25 26 |
# 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 |
Instance Attribute Details
#validated_object ⇒ Object (readonly)
Returns the value of attribute validated_object.
19 20 21 |
# File 'lib/standalone_validator/validation_result.rb', line 19 def validated_object @validated_object end |
#violations ⇒ Object (readonly)
Returns the value of attribute violations.
19 20 21 |
# File 'lib/standalone_validator/validation_result.rb', line 19 def violations @violations end |
Class Method Details
.build_for(object, &block) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# 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 |
Instance Method Details
#[](attribute) ⇒ Object
54 55 56 57 58 |
# 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) ⇒ Object
30 31 32 33 34 35 36 |
# 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) ⇒ Object
40 41 42 |
# File 'lib/standalone_validator/validation_result.rb', line 40 def each(&block) violations.each(&block) end |
#empty? ⇒ Boolean
44 45 46 |
# File 'lib/standalone_validator/validation_result.rb', line 44 def empty? violations.empty? end |
#of_type(type) ⇒ Object
60 61 62 |
# File 'lib/standalone_validator/validation_result.rb', line 60 def of_type(type) subset { |violation| violation.type == type } end |
#ok? ⇒ Boolean Also known as: valid?
48 49 50 |
# File 'lib/standalone_validator/validation_result.rb', line 48 def ok? violations.empty? end |
#on_attribute(attribute) ⇒ Object
64 65 66 |
# File 'lib/standalone_validator/validation_result.rb', line 64 def on_attribute(attribute) subset { |violation| violation.attribute == attribute } end |