Sha256: c38198599095a6dc8a592cb6fb5b98eab996b88932ddfa8064793d722b194455

Contents?: true

Size: 1.21 KB

Versions: 6

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true
require "theme_check"

module Extension
  class Command
    class Check < ExtensionCommand
      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

6 entries across 6 versions & 1 rubygems

Version Path
shopify-cli-2.4.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.3.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.2.2 lib/project_types/extension/commands/check.rb
shopify-cli-2.2.1 lib/project_types/extension/commands/check.rb
shopify-cli-2.2.0 lib/project_types/extension/commands/check.rb
shopify-cli-2.1.0 lib/project_types/extension/commands/check.rb