Class: ValueSemantics::ArrayOf

Inherits:
Object
  • Object
show all
Defined in:
lib/value_semantics/array_of.rb

Overview

Validator that matches arrays if each element matches a given subvalidator

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(element_validator) ⇒ ArrayOf

Returns a new instance of ArrayOf.



8
9
10
11
# File 'lib/value_semantics/array_of.rb', line 8

def initialize(element_validator)
  @element_validator = element_validator
  freeze
end

Instance Attribute Details

#element_validatorObject (readonly)

Returns the value of attribute element_validator.



6
7
8
# File 'lib/value_semantics/array_of.rb', line 6

def element_validator
  @element_validator
end

Instance Method Details

#===(value) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/value_semantics/array_of.rb', line 14

def ===(value)
  Array === value && value.all? { |element| element_validator === element }
end