class Lookbook::PreviewsController
def inspector_data
def inspector_data return @inspector_data if @inspector_data.present? context_data = { preview_params: preview_params, path: params[:path], } example = @example preview = @preview preview.define_singleton_method(:params, proc { example.params }) examples = target_examples.map do |example| render_args = @preview.render_args(example.name, params: preview_controller.params) has_template = render_args[:template] != "view_components/preview" output = preview_controller.process(:render_example_to_string, @preview, example.name) source = has_template ? example.template_source(render_args[:template]) : example.method_source source_lang = has_template ? example.template_lang(render_args[:template]) : example.lang example.define_singleton_method(:output, proc { output }) example.define_singleton_method(:source, proc { source }) example.define_singleton_method(:source_lang, proc { source_lang }) example end @inspector_data ||= Lookbook::Store.new({ context: context_data, preview: preview, examples: examples, components: preview.components, app: Lookbook }) end