Sha256: 54a877b224ab3864b85fa480024e434f0439ee649d9ae9528b4f41f6bb00cdbe

Contents?: true

Size: 1.38 KB

Versions: 11

Compression:

Stored size: 1.38 KB

Contents

class Ufo::CLI::New
  class Init < Sequence
    def self.options
      [
        [:app, aliases: :a, desc: "App name.  If not specified, it's inferred from the folder name"],
        [:force, type: :boolean, desc: "Bypass overwrite are you sure prompt for existing files"],
        # note: aliases: :r messes up Usage help: ufo init -h so not using it
        [:repo, required: true, desc: "Docker repo to use. Example: ORG/REPO"],
      ]
    end
    options.each { |o| class_option(*o) }

    def set_source
      set_template_source("init")
      self.destination_root = '.'
    end

    def set_variables
      @app = options[:app] || inferred_app
      @repo = options[:repo]
    end

    def generate
      puts "Generating .ufo structure"
      directory "."
    end

    def update_gitignore
      text =<<~EOL
        .ufo/tmp
        .ufo/log
        .ufo/output
        .secrets
      EOL
      if File.exist?(".gitignore")
        append_to_file ".gitignore", text
      else
        create_file ".gitignore", text
      end
    end

    def create_dockefile
      return if File.exist?("Dockerfile")
      set_template_source("docker")
      directory ".", "."
    end

    def user_message
      puts "Starter .ufo files created"
      puts <<~EOL
        Congrats. You have successfully set up your project with ufo.
        To deploy to ECS:

            ufo ship

      EOL
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ufo-6.3.13 lib/ufo/cli/new/init.rb
ufo-6.3.12 lib/ufo/cli/new/init.rb
ufo-6.3.11 lib/ufo/cli/new/init.rb
ufo-6.3.10 lib/ufo/cli/new/init.rb
ufo-6.3.9 lib/ufo/cli/new/init.rb
ufo-6.3.8 lib/ufo/cli/new/init.rb
ufo-6.3.7 lib/ufo/cli/new/init.rb
ufo-6.3.6 lib/ufo/cli/new/init.rb
ufo-6.3.5 lib/ufo/cli/new/init.rb
ufo-6.3.4 lib/ufo/cli/new/init.rb
ufo-6.3.3 lib/ufo/cli/new/init.rb