Sha256: 8b37760d5e6ed3ecfa46b8652d26607aef094daedb348396f825f580b05aff3f

Contents?: true

Size: 774 Bytes

Versions: 3

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

module Script
  module Forms
    class Create < ScriptForm
      flag_arguments :extension_point, :name

      def ask
        self.name = (name || ask_name).downcase.gsub(' ', '_')
        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: Script::Layers::Application::ExtensionPoints.types
        )
      end

      def ask_name
        name = CLI::UI::Prompt.ask(@ctx.message('script.forms.create.script_name'))
        return name if name.match?(/^[0-9A-Za-z _-]*$/)
        @ctx.abort(@ctx.message('script.forms.create.error.invalid_name'))
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
shopify-cli-0.9.2 lib/project_types/script/forms/create.rb
shopify-cli-0.9.1 lib/project_types/script/forms/create.rb
shopify-cli-0.9.0 lib/project_types/script/forms/create.rb