class ViewComponent::Storybook::Slots::SlotConfig
Attributes
content_block[R]
param[R]
slot_method_args[R]
slot_name[R]
Public Class Methods
from_component(component_class, slot_name, param, *args, **kwargs, &block)
click to toggle source
# File lib/view_component/storybook/slots/slot_config.rb, line 18 def self.from_component(component_class, slot_name, param, *args, **kwargs, &block) slot_method_args = MethodArgs::ControlMethodArgs .new(component_class.instance_method(slot_name), *args, **kwargs) .with_param_prefix(param) new(slot_name, slot_method_args, param, block) end
new(slot_name, slot_method_args, param, content_block)
click to toggle source
# File lib/view_component/storybook/slots/slot_config.rb, line 11 def initialize(slot_name, slot_method_args, param, content_block) @slot_name = slot_name @slot_method_args = slot_method_args @param = param @content_block = content_block end
Public Instance Methods
content_param()
click to toggle source
# File lib/view_component/storybook/slots/slot_config.rb, line 38 def content_param "#{param}__content".to_sym end
controls()
click to toggle source
# File lib/view_component/storybook/slots/slot_config.rb, line 32 def controls list = slot_method_args.controls.dup list << content_control if content_control list end
slot(componeont, params)
click to toggle source
# File lib/view_component/storybook/slots/slot_config.rb, line 26 def slot(componeont, params) resolved_method_args = slot_method_args.resolve_method_args(params) story_content_block = resolve_content_block(params) Slot.new(componeont, slot_name, resolved_method_args, story_content_block) end