Class: Contracts::IsA

Inherits:
Callable show all
Defined in:
middleman-core/lib/middleman-core/contracts.rb,
middleman-core/lib/middleman-core/contracts.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(val) ⇒ IsA

Returns a new instance of IsA.


14
15
16
# File 'middleman-core/lib/middleman-core/contracts.rb', line 14

def initialize(val)
  @val = val
end

Class Method Details

.[](val) ⇒ Object


9
10
11
12
# File 'middleman-core/lib/middleman-core/contracts.rb', line 9

def self.[](val)
  @lookup ||= {}
  @lookup[val] ||= new(val)
end

Instance Method Details

#valid?(val) ⇒ Boolean

Returns:

  • (Boolean)

18
19
20
# File 'middleman-core/lib/middleman-core/contracts.rb', line 18

def valid?(val)
  val.is_a? @val.constantize
end