Module: Exclaim::ImplementationMap

Extended by:
ImplementationMap
Included in:
ImplementationMap
Defined in:
lib/exclaim/implementation_map.rb

Instance Method Summary collapse

Instance Method Details

#parse!(implementation_map) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/exclaim/implementation_map.rb', line 7

def parse!(implementation_map)
  unless implementation_map.is_a?(Hash)
    raise ImplementationMapError.new("implementation_map must be a Hash, given: #{implementation_map.class}")
  end

  implementation_map.each do |name, implementation|
    validate_name!(name)
    validate_call_params!(name, implementation)
    validate_predicate_methods!(name, implementation)
  end

  implementation_map
end