class Glimmer::DSL::Libui::CustomControlExpression

Public Instance Methods

add_content(custom_control, keyword, *args, &block) click to toggle source
Calls superclass method
# File lib/glimmer/dsl/libui/custom_control_expression.rb, line 46
def add_content(custom_control, keyword, *args, &block)
  options = args.last.is_a?(Hash) ? args.last : {post_add_content: true}
  # TODO consider avoiding source_location
  if block.source_location == custom_control.content&.__getobj__&.source_location
    custom_control.content.call(custom_control) unless custom_control.content.called?
  else
    super
  end
  custom_control.post_add_content if options[:post_add_content]
end
can_interpret?(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/libui/custom_control_expression.rb, line 37
def can_interpret?(parent, keyword, *args, &block)
  LibUI::CustomControl.for(keyword)
end
interpret(parent, keyword, *args, &block) click to toggle source
# File lib/glimmer/dsl/libui/custom_control_expression.rb, line 41
def interpret(parent, keyword, *args, &block)
  options = args.last.is_a?(Hash) ? args.pop : {}
  LibUI::CustomControl.for(keyword).new(keyword, parent, args, options, &block)
end