Sha256: 8fd463055e029dbed9d7ab5a6de626eebaac83b4b3d90f95b45777c96973d324

Contents?: true

Size: 1023 Bytes

Versions: 8

Compression:

Stored size: 1023 Bytes

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Infrastructure
      module Languages
        class TaskRunner
          attr_reader :ctx

          def self.for(ctx, language)
            task_runners = {
              "typescript" => TypeScriptTaskRunner,
              "wasm" => WasmTaskRunner,
            }

            raise Errors::TaskRunnerNotFoundError unless task_runners[language]
            task_runners[language].new(ctx)
          end

          def initialize(ctx)
            @ctx = ctx
          end

          def build
            raise NotImplementedError
          end

          def dependencies_installed?
            raise NotImplementedError
          end

          def install_dependencies
            raise NotImplementedError
          end

          def metadata_file_location
            raise NotImplementedError
          end

          def library_version(_library_name)
            raise NotImplementedError
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
shopify-cli-2.15.6 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.15.5 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.15.4 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.15.3 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.15.2 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.15.1 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.15.0 lib/project_types/script/layers/infrastructure/languages/task_runner.rb
shopify-cli-2.14.0 lib/project_types/script/layers/infrastructure/languages/task_runner.rb