class ViewComponent::Storybook::Controls::CustomConfig
Attributes
value_method_args[R]
Public Instance Methods
param(new_param = nil)
click to toggle source
Calls superclass method
ViewComponent::Storybook::Controls::ControlConfig#param
# File lib/view_component/storybook/controls/custom_config.rb, line 17 def param(new_param = nil) value_method_args.with_param_prefix(new_param) unless new_param.nil? super(new_param) end
to_csf_params()
click to toggle source
# File lib/view_component/storybook/controls/custom_config.rb, line 22 def to_csf_params validate! # TODO: Figure out if we can use 'category' with the args table # export default { # argTypes: { # foo: { # table: { category: 'cat', subcategory: 'sub' } # } # } # } value_method_args.controls.reduce({}) do |csf_params, control| csf_params.deep_merge(control.to_csf_params) end end
value_from_params(params)
click to toggle source
# File lib/view_component/storybook/controls/custom_config.rb, line 37 def value_from_params(params) value_method_args.call(params) end
with_value(*args, **kwargs, &block)
click to toggle source
# File lib/view_component/storybook/controls/custom_config.rb, line 11 def with_value(*args, **kwargs, &block) @value_method_args = MethodArgs::ControlMethodArgs.new(block, *args, **kwargs) @value_method_args.with_param_prefix(param) self end
Private Instance Methods
validate_value_method_args()
click to toggle source
# File lib/view_component/storybook/controls/custom_config.rb, line 43 def validate_value_method_args return if value_method_args.valid? value_method_args_errors = value_method_args.errors.full_messages.join(', ') errors.add(:value_method_args, :invalid, errors: value_method_args_errors) end