Sha256: b31b9a055700c7c6f76bb54331197f88b89e7517017371f40305f41e9a367175
Contents?: true
Size: 1.44 KB
Versions: 7
Compression:
Stored size: 1.44 KB
Contents
#!/usr/bin/env ruby # frozen_string_literal: true $LOAD_PATH.unshift __dir__ + "/../../lib" require "dry/cli" require_relative "../../../lib/dry/cli/command" module Based extend Dry::CLI::Registry class Base < Dry::CLI::Command desc "Base description" argument :app, desc: "Application name", type: :string, required: true option :verbosity, desc: "Verbosity level", type: :string, default: "INFO" example "Base example" def call(app:, **options) puts "#{self.class} - App: #{app} - Options: #{options.inspect}" end end class Run < Base desc "Run a one-off process inside your app" argument :cmd, desc: "Command to execute", required: true def call(app:, cmd:, **options) puts "Run - App: #{app} - Command: #{cmd} - Options: #{options.inspect}" end end class SubRun < Run end class Logs < Base desc "Display recent log output" option :num, desc: "number of lines to display" option :tail, desc: "continually stream log", type: :boolean example [ "APP_NAME", "APP_NAME --num=50", "APP_NAME --tail" ] end class Addons < Base desc "Lists your add-ons and attachments" option :json, desc: "return add-ons in json format", type: :boolean, default: false example [ "APP_NAME", "APP_NAME --json" ] end register "run", Run register "subrun", SubRun register "logs", Logs register "addons", Addons end Dry.CLI(Based).call
Version data entries
7 entries across 7 versions & 1 rubygems