Sha256: 1fb2d5d67323c731f17ed798fa340d7d042dc1ddf055a12d835ee842af36945e

Contents?: true

Size: 893 Bytes

Versions: 2

Compression:

Stored size: 893 Bytes

Contents

require "thor"

module Dry
  module Web
    module WebPipe
      class CLI < Thor
        desc "new APP", "Generate a new dry-web-web_pipe project"
        option :arch, required: false, default: "umbrella", enum: %w[umbrella flat], banner: "ARCH", desc: "Project architecture (umbrella/flat)"
        def new(app_name)
          case options[:arch]
          when "umbrella"
            require "dry/web/web_pipe/generators/umbrella_project"
            Generators::UmbrellaProject.new(app_name).call
          when "flat"
            require "dry/web/web_pipe/generators/flat_project"
            Generators::FlatProject.new(app_name).call
          end
        end

        desc "generate GENERATOR", "Generate a new component for an existing dry-web-web_pipe project"
        require "dry/web/web_pipe/cli/generate"
        subcommand "generate", CLI::Generate
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-web-web_pipe-0.2.0 lib/dry/web/web_pipe/cli.rb
dry-web-web_pipe-0.1.0 lib/dry/web/web_pipe/cli.rb