class Lookbook::Preview
def render_args(scenario, params: {})
def render_args(scenario, params: {}) scenario_params_names = instance_method(scenario).parameters.map(&:last) provided_params = params.slice(*scenario_params_names).to_h.symbolize_keys result = provided_params.empty? ? new.public_send(scenario) : new.public_send(scenario, **provided_params) result ||= {} result[:template] = scenario_template_path(scenario) if result[:template].nil? @layout = nil unless defined?(@layout) result.merge(layout: @layout) end