Class: NRSER::Types::ArrayOfType
- Defined in:
- lib/nrser/types/arrays.rb
Overview
Constant Summary
Constants inherited from ArrayType
NRSER::Types::ArrayType::DEFAULT_SPLIT_WITH
Instance Attribute Summary collapse
-
#item_type ⇒ NRSER::Types::Type
readonly
Type that all items must satisfy for an array to be a member of this type.
Attributes inherited from IsA
Display Instance Methods collapse
-
#explain ⇒ Object
————————————————————————.
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#has_from_s? ⇒ Boolean
ArrayOfType can convert values from strings if it’s #item_type can convert values from strings.
-
#initialize(item_type, **options) ⇒ ArrayOfType
constructor
Instantiate a new ‘ArrayOfType`.
- #items_from_strings(items) ⇒ Object
- #test?(value) ⇒ Boolean
Methods inherited from ArrayType
#custom_from_s, #default_name, #default_symbolic
Methods inherited from IsA
#custom_from_data, #has_from_data?, #init_from_data?
Methods inherited from Type
#===, #builtin_inspect, #check, #check!, #default_name, #default_symbolic, #from_data, #from_s, #has_from_data?, #has_to_data?, #inspect, #intersection, #name, #not, #respond_to?, #symbolic, #test, #to_data, #to_proc, #to_s, #union, #xor
Constructor Details
#initialize(item_type, **options) ⇒ ArrayOfType
Instantiate a new ‘ArrayOfType`.
128 129 130 131 |
# File 'lib/nrser/types/arrays.rb', line 128 def initialize item_type, ** super ** @item_type = NRSER::Types.make item_type end |
Instance Attribute Details
#item_type ⇒ NRSER::Types::Type (readonly)
Type that all items must satisfy for an array to be a member of this type.
121 122 123 |
# File 'lib/nrser/types/arrays.rb', line 121 def item_type @item_type end |
Instance Method Details
#==(other) ⇒ Object
178 179 180 181 182 |
# File 'lib/nrser/types/arrays.rb', line 178 def == other equal?(other) || ( other.class == self.class && @item_type == other.item_type ) end |
#explain ⇒ Object
140 141 142 |
# File 'lib/nrser/types/arrays.rb', line 140 def explain "Array<#{ item_type.explain }>" end |
#has_from_s? ⇒ Boolean
NRSER::Types::ArrayOfType can convert values from strings if it’s #item_type can convert values from strings.
162 163 164 |
# File 'lib/nrser/types/arrays.rb', line 162 def has_from_s? @from_s || @item_type.has_from_s? end |
#items_from_strings(items) ⇒ Object
167 168 169 |
# File 'lib/nrser/types/arrays.rb', line 167 def items_from_strings items items.map &@item_type.method( :from_s ) end |
#test?(value) ⇒ Boolean
147 148 149 150 151 152 153 154 |
# File 'lib/nrser/types/arrays.rb', line 147 def test? value # Check the super method first, which will test if `value` is an Array # instance, and return `false` if it's not. return false unless super( value ) # Otherwise test all the items value.all? &@item_type.method( :test ) end |