Sha256: 55feebbe45dfbde92096992800d71e92b20b6b92e7e64d1a5111ab980ccb4f7b

Contents?: true

Size: 862 Bytes

Versions: 3

Compression:

Stored size: 862 Bytes

Contents

require "thor"

module Dry
  module Web
    module Roda
      class CLI < Thor
        desc "new APP", "Generate a new dry-web-roda 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/roda/generators/umbrella_project"
            Generators::UmbrellaProject.new.(app_name)
          when "flat"
            require "dry/web/roda/generators/flat_project"
            Generators::FlatProject.new.(app_name)
          end
        end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dry-web-roda-0.6.3 lib/dry/web/roda/cli.rb
dry-web-roda-0.6.2 lib/dry/web/roda/cli.rb
dry-web-roda-0.6.1 lib/dry/web/roda/cli.rb