Class: Rtype::Behavior::TypedArray

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

Instance Method Summary collapse

Methods inherited from Base

[]

Constructor Details

#initialize(type) ⇒ TypedArray

Returns a new instance of TypedArray.



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

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

Instance Method Details

#error_message(value) ⇒ Object



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

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

#valid?(value) ⇒ Boolean

Returns:



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

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