Sha256: ebf602e0dc342f7aad6bcdefbdd639482bd2bab5f83f66b22a244dba3a80eeba

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Application
      class PushScript
        class << self
          def call(ctx:, language:, extension_point_type:, script_name:, source_file:, api_key:, force:)
            script = Infrastructure::ScriptRepository.new(ctx: ctx).get_script(
              language,
              extension_point_type,
              script_name
            )
            task_runner = Infrastructure::TaskRunner.for(ctx, language, script_name, source_file)
            ProjectDependencies.install(ctx: ctx, task_runner: task_runner)
            BuildScript.call(ctx: ctx, task_runner: task_runner, script: script)
            push_script(ctx, task_runner, script, api_key, force)
          end

          private

          def push_script(ctx, task_runner, script, api_key, force)
            Infrastructure::PushPackageRepository.new(ctx: ctx)
              .get_push_package(script, task_runner.compiled_type)
              .push(Infrastructure::ScriptService.new(ctx: ctx), api_key, force)
            ctx.puts(ctx.message('script.application.pushed'))
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
shopify-cli-1.0.2 lib/project_types/script/layers/application/push_script.rb
shopify-cli-1.0.1 lib/project_types/script/layers/application/push_script.rb
shopify-cli-1.0.0 lib/project_types/script/layers/application/push_script.rb
shopify-cli-0.9.3 lib/project_types/script/layers/application/push_script.rb
shopify-cli-0.9.2 lib/project_types/script/layers/application/push_script.rb