Class: Rtype::Behavior::TypedArray

Inherits:
Base show all
Defined in:
lib/rtype/behavior/typed_array.rb

Overview

Typed array behavior. empty array allowed

Instance Method Summary collapse

Methods inherited from Base

[]

Constructor Details

#initialize(type) ⇒ TypedArray

Returns a new instance of TypedArray.



5
6
7
8
# File 'lib/rtype/behavior/typed_array.rb', line 5

def initialize(type)
	@type = type
	Rtype.assert_valid_argument_type_sig_element(@type)
end

Instance Method Details

#error_message(value) ⇒ Object



21
22
23
# File 'lib/rtype/behavior/typed_array.rb', line 21

def error_message(value)
	"Expected #{value.inspect} to be an array with type #{@type.inspect}"
end

#valid?(value) ⇒ Boolean

Returns:



10
11
12
13
14
15
16
17
18
19
# File 'lib/rtype/behavior/typed_array.rb', line 10

def valid?(value)
	if value.is_a?(Array)
		any = value.any? do |e|
			!Rtype::valid?(@type, e)
		end
		!any
	else
		false
	end
end