Sha256: 31d00ac8646546fc04aef1292acd2eeaa211438fcebf208ee502343a40ba5b6a
Contents?: true
Size: 1.86 KB
Versions: 2
Compression:
Stored size: 1.86 KB
Contents
# frozen_string_literal: true module Script class Command class Create < ShopifyCLI::SubCommand unless ShopifyCLI::Environment.acceptance_test? prerequisite_task :ensure_authenticated end options do |parser, flags| parser.on("--name=NAME") { |name| flags[:name] = name } parser.on("--extension_point=EP_NAME") { |ep_name| flags[:extension_point] = ep_name } parser.on("--extension-point=EP_NAME") { |ep_name| flags[:extension_point] = ep_name } parser.on("--language=LANGUAGE") { |language| flags[:language] = language } parser.on("--branch=BRANCH") { |branch| flags[:branch] = branch } parser.on("--no-config-ui") { |no_config_ui| flags[:no_config_ui] = no_config_ui } end def call(args, _name) form = Forms::Create.ask(@ctx, args, options.flags) return @ctx.puts(self.class.help) if form.nil? unless !form.name.empty? && form.extension_point && form.language return @ctx.puts(self.class.help) end project = Layers::Application::CreateScript.call( ctx: @ctx, language: form.language, sparse_checkout_branch: options.flags[:branch] || "master", script_name: form.name, extension_point_type: form.extension_point, no_config_ui: options.flags.key?(:no_config_ui) ) @ctx.puts(@ctx.message("script.create.change_directory_notice", project.script_name)) rescue StandardError => e UI::ErrorHandler.pretty_print_and_raise(e, failed_op: @ctx.message("script.create.error.operation_failed")) end def self.help allowed_values = Script::Layers::Application::ExtensionPoints.available_types.map { |type| "{{cyan:#{type}}}" } ShopifyCLI::Context.message("script.create.help", ShopifyCLI::TOOL_NAME, allowed_values.join(", ")) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shopify-cli-2.6.5 | lib/project_types/script/commands/create.rb |
shopify-cli-2.6.4 | lib/project_types/script/commands/create.rb |