Module: Exclaim::UiConfiguration

Extended by:
UiConfiguration
Included in:
UiConfiguration
Defined in:
lib/exclaim/ui_configuration.rb

Constant Summary collapse

EXPLICIT_ELEMENT_NAMES =
['$component', '$helper', '$bind'].freeze

Instance Method Summary collapse

Instance Method Details

#parse!(implementation_map, ui_config) ⇒ Object



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

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

  parsed_ui = parse_config_value(implementation_map, ui_config)

  unless parsed_ui.is_a?(Exclaim::Component)
    error_message = 'ui_config must declare a component at the top-level that is present in implementation_map'
    raise UiConfigurationError.new(error_message)
  end

  parsed_ui
end