Sha256: 660f592500d1671872a552da11e8398de5cdb8d16f4083b0fe20abb106eade04

Contents?: true

Size: 616 Bytes

Versions: 11

Compression:

Stored size: 616 Bytes

Contents

# frozen_string_literal: true

require_relative "theme_presenter"

module Theme
  module Presenters
    class ThemesPresenter
      SUPPORTED_ROLES = %w(live unpublished development)

      def initialize(ctx, root)
        @ctx = ctx
        @root = root
      end

      def all
        all_themes
          .select { |theme| SUPPORTED_ROLES.include?(theme.role) }
          .sort_by { |theme| SUPPORTED_ROLES.index(theme.role) }
          .map { |theme| ThemePresenter.new(theme) }
      end

      private

      def all_themes
        ShopifyCLI::Theme::Theme.all(@ctx, root: @root)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
shopify-cli-2.36.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.35.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.34.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.33.1 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.33.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.32.1 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.32.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.31.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.30.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.29.0 lib/project_types/theme/presenters/themes_presenter.rb
shopify-cli-2.28.0 lib/project_types/theme/presenters/themes_presenter.rb