Class: Typeguard::Validation::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/typeguard/types.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from(node) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/typeguard/types.rb', line 6

def self.from(node)
  case node.shape
  when :basic
    Basic.new(node)
  when :generic
    Generic.new(node)
  when :fixed
    Fixed.new(node)
  when :hash
    GenericHash.new(node)
  when :fixed_hash
    FixedHash.new(node)
  when :union
    Union.new(node)
  when :literal
    case node.kind
    when :nil then Nil.new
    when :void, :self then Untyped.new
    else Literal.new(node)
    end
  when :duck
    Duck.new(node)
  when :untyped
    Untyped.new
  else
    raise "Unexpected type node shape: #{node.shape}"
  end
end

Instance Method Details

#valid?(_value) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


35
36
37
# File 'lib/typeguard/types.rb', line 35

def valid?(_value)
  raise NotImplementedError, 'Abstract'
end