Sha256: 41ef675a213c8f60c452e5f3e0b34f8455b5ab116ae470a9877b51594f7acee5

Contents?: true

Size: 845 Bytes

Versions: 22

Compression:

Stored size: 845 Bytes

Contents

# frozen_string_literal: true

module Script
  module Forms
    class Create < ShopifyCLI::Form
      flag_arguments :extension_point, :title

      def ask
        self.title = valid_name
        self.extension_point ||= ask_extension_point
      end

      private

      def ask_extension_point
        CLI::UI::Prompt.ask(
          @ctx.message("script.forms.create.select_extension_point"),
          options: Layers::Application::ExtensionPoints.available_types
        )
      end

      def ask_title
        CLI::UI::Prompt.ask(@ctx.message("script.forms.create.script_title"))
      end

      def valid_name
        normalized_title = (title || ask_title).downcase.gsub(" ", "_")
        return normalized_title if normalized_title.match?(/^[0-9A-Za-z_-]*$/)
        raise Errors::InvalidScriptTitleError
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
shopify-cli-2.25.0 lib/project_types/script/forms/create.rb
shopify-cli-2.24.0 lib/project_types/script/forms/create.rb
shopify-cli-2.23.0 lib/project_types/script/forms/create.rb
shopify-cli-2.22.0 lib/project_types/script/forms/create.rb
shopify-cli-2.21.0 lib/project_types/script/forms/create.rb
shopify-cli-2.20.1 lib/project_types/script/forms/create.rb
shopify-cli-2.20.0 lib/project_types/script/forms/create.rb
shopify-cli-2.19.0 lib/project_types/script/forms/create.rb
shopify-cli-2.18.1 lib/project_types/script/forms/create.rb
shopify-cli-2.18.0 lib/project_types/script/forms/create.rb
shopify-cli-2.17.0 lib/project_types/script/forms/create.rb
shopify-cli-2.16.1 lib/project_types/script/forms/create.rb
shopify-cli-2.16.0 lib/project_types/script/forms/create.rb
shopify-cli-2.15.6 lib/project_types/script/forms/create.rb
shopify-cli-2.15.5 lib/project_types/script/forms/create.rb
shopify-cli-2.15.4 lib/project_types/script/forms/create.rb
shopify-cli-2.15.3 lib/project_types/script/forms/create.rb
shopify-cli-2.15.2 lib/project_types/script/forms/create.rb
shopify-cli-2.15.1 lib/project_types/script/forms/create.rb
shopify-cli-2.15.0 lib/project_types/script/forms/create.rb