Sha256: bbab32d3f2062f3279bba340c40d3251069fd214655c8d0addacd9845c332f3d

Contents?: true

Size: 1.27 KB

Versions: 14

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

# :nocov:

require "json"

module Primer
  module Static
    # :nodoc:
    module GenerateFormPreviews
      class << self
        def call
          Lookbook.previews.filter_map do |preview|
            next unless preview.preview_class == Primer::FormsPreview

            {
              name: preview.name,
              lookup_path: preview.lookup_path,
              examples: preview.scenarios.flat_map do |parent_scenario|
                scenarios = parent_scenario.type == :scenario_group ? parent_scenario.scenarios : [parent_scenario]

                scenarios.map do |scenario|
                  snapshot_tag = scenario.tags.find { |tag| tag.tag_name == "snapshot" }
                  snapshot = if snapshot_tag.nil?
                               "false"
                             elsif snapshot_tag.text.blank?
                               "true"
                             else
                               snapshot_tag.text
                             end
                  {
                    preview_path: scenario.lookup_path,
                    name: scenario.name,
                    snapshot: snapshot
                  }
                end
              end
            }
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
openproject-primer_view_components-0.52.4 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.52.3 lib/primer/static/generate_form_previews.rb
primer_view_components-0.36.5 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.52.2 lib/primer/static/generate_form_previews.rb
primer_view_components-0.36.4 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.52.1 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.52.0 lib/primer/static/generate_form_previews.rb
primer_view_components-0.36.3 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.51.0 lib/primer/static/generate_form_previews.rb
primer_view_components-0.36.2 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.50.1 lib/primer/static/generate_form_previews.rb
openproject-primer_view_components-0.50.0 lib/primer/static/generate_form_previews.rb
primer_view_components-0.36.1 lib/primer/static/generate_form_previews.rb
primer_view_components-0.36.0 lib/primer/static/generate_form_previews.rb