Sha256: 7b2e987d8d4f0786d8b91123dc37f97427638d4564c8044bd54a22265fc9f989

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

# frozen_string_literal: true
require "theme_check"

module Extension
  class Command
    class Check < ExtensionCommand
      recommend_default_ruby_range

      class CheckOptions < ShopifyCLI::Options
        def initialize(ctx, theme_check)
          super()
          @theme_check = theme_check
          @ctx = ctx
        end

        def parse(_options_block, args)
          # Check if .theme-check.yml exists, or if another -C has been passed on the command line
          unless args.include?("-C") || @ctx.file_exist?(".theme-check.yml")
            args += ["-C", ":theme_app_extension"]
          end
          @theme_check.parse(args)
        end
      end

      def initialize(*)
        super
        if project.specification_identifier == "THEME_APP_EXTENSION"
          @theme_check = ThemeCheck::Cli.new
          self.options = CheckOptions.new(@ctx, @theme_check)
        end
      end

      def call(*)
        if project.specification_identifier == "THEME_APP_EXTENSION"
          @theme_check.run
        else
          @ctx.abort(@ctx.message("check.unsupported", project.specification_identifier))
        end
      end

      def self.help
        ShopifyCLI::Context.message("check.help", ShopifyCLI::TOOL_NAME)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
shopify-cli-2.15.2 lib/project_types/extension/commands/check.rb
shopify-cli-2.15.1 lib/project_types/extension/commands/check.rb
shopify-cli-2.15.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.14.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.13.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.12.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.11.2 lib/project_types/extension/commands/check.rb