Sha256: 64ad4e34fd6be817ec68517624ad4f954ed86e270d0342db22b1359114ad85d5

Contents?: true

Size: 1.49 KB

Versions: 2

Compression:

Stored size: 1.49 KB

Contents

module ShopifyCLI
  module Commands
    class App
      class Deploy < ShopifyCLI::Command::AppSubCommand
        subcommand :Heroku, "heroku", "shopify_cli/commands/app/deploy/heroku"
        prerequisite_task :ensure_git_dependency

        recommend_default_ruby_range

        def call(args, _name)
          platform = args.shift
          case platform
          when "heroku"
            case detect_app
            when :rails
              Services::App::Deploy::Heroku::RailsService.call(
                context: @ctx
              )
            when :php
              Services::App::Deploy::Heroku::PHPService.call(
                context: @ctx
              )
            when :node
              Services::App::Deploy::Heroku::NodeService.call(
                context: @ctx
              )
            end
          when nil
            raise ShopifyCLI::Abort, @ctx.message(
              "core.app.deploy.error.missing_platform",
              ShopifyCLI::TOOL_NAME
            )
          else
            raise ShopifyCLI::Abort, @ctx.message(
              "core.app.deploy.error.invalid_platform",
              platform,
              ShopifyCLI::TOOL_NAME
            )
          end
        end

        def self.help
          ShopifyCLI::Context.message("core.app.deploy.help", ShopifyCLI::TOOL_NAME, ShopifyCLI::TOOL_NAME)
        end

        def self.extended_help
          ShopifyCLI::Context.message("core.app.deploy.extended_help", ShopifyCLI::TOOL_NAME)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
shopify-cli-2.13.0 lib/shopify_cli/commands/app/deploy.rb
shopify-cli-2.12.0 lib/shopify_cli/commands/app/deploy.rb