Class: Vident::ViewComponent::RootComponent

Inherits:
ViewComponent::Base
  • Object
show all
Includes:
RootComponent
Defined in:
lib/vident/view_component/root_component.rb

Constant Summary collapse

SELF_CLOSING_TAGS =
Set[:area, :base, :br, :col, :embed, :hr, :img, :input, :link, :meta, :param, :source, :track, :wbr].freeze

Instance Method Summary collapse

Instance Method Details

#callObject



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/vident/view_component/root_component.rb', line 18

def call
  # Generate outer tag options and render
  tag_type = 
  child_content = content # Evaluate before generating the outer tag options to ensure DSL methods are executed
  options = 
  if SELF_CLOSING_TAGS.include?(tag_type)
    view_context.tag(tag_type, options)
  else
    view_context.(tag_type, child_content, options)
  end
end

#target_tag(tag_name, targets, **options, &block) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/vident/view_component/root_component.rb', line 10

def target_tag(tag_name, targets, **options, &block)
  parsed = parse_targets(Array.wrap(targets))
  options[:data] ||= {}
  options[:data].merge!(build_target_data_attributes(parsed))
  content = view_context.capture(&block) if block
  view_context.(tag_name, content, options)
end