Class: Strict::Return
- Inherits:
-
Object
- Object
- Strict::Return
- Defined in:
- lib/strict/return.rb
Instance Attribute Summary collapse
-
#validator ⇒ Object
readonly
Returns the value of attribute validator.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(validator:) ⇒ Return
constructor
A new instance of Return.
- #valid?(value, configuration = Strict.configuration) ⇒ Boolean
- #violations(value, configuration = Strict.configuration) ⇒ Object
Constructor Details
#initialize(validator:) ⇒ Return
Returns a new instance of Return.
15 16 17 18 |
# File 'lib/strict/return.rb', line 15 def initialize(validator:) @validator = validator @detailed_validator = DetailedValidator === validator end |
Instance Attribute Details
#validator ⇒ Object (readonly)
Returns the value of attribute validator.
13 14 15 |
# File 'lib/strict/return.rb', line 13 def validator @validator end |
Class Method Details
.make(validator = Validators::Anything.instance, **unsupported) ⇒ Object
6 7 8 9 10 |
# File 'lib/strict/return.rb', line 6 def make(validator = Validators::Anything.instance, **unsupported) raise ArgumentError, "Unsupported return options: #{unsupported.keys.join(', ')}" if unsupported.any? new(validator: validator) end |
Instance Method Details
#valid?(value, configuration = Strict.configuration) ⇒ Boolean
20 21 22 |
# File 'lib/strict/return.rb', line 20 def valid?(value, configuration = Strict.configuration) violations(value, configuration).empty? end |
#violations(value, configuration = Strict.configuration) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/strict/return.rb', line 24 def violations(value, configuration = Strict.configuration) return Validation::NONE unless configuration.validate? return validator.violations(value) if @detailed_validator return Validation::NONE if validator === value Validation.invalid(validator, value) end |