Module: Dramaturg

Extended by:
ActiveSupport::Autoload
Defined in:
lib/dramaturg.rb,
lib/dramaturg/thor.rb,
lib/dramaturg/value.rb,
lib/dramaturg/parser.rb,
lib/dramaturg/runner.rb,
lib/dramaturg/script.rb,
lib/dramaturg/command.rb,
lib/dramaturg/version.rb,
lib/dramaturg/prompter.rb,
lib/dramaturg/value/base.rb,
lib/dramaturg/runner/base.rb,
lib/dramaturg/runner/thor.rb,
lib/dramaturg/value/fixed.rb,
lib/dramaturg/runner/print.rb,
lib/dramaturg/runner/shell.rb,
lib/dramaturg/value/masked.rb,
lib/dramaturg/value/silent.rb,
lib/dramaturg/prompter/base.rb,
lib/dramaturg/value/unknown.rb,
lib/dramaturg/ctrl_c_handler.rb,
lib/dramaturg/value/or_default.rb,
lib/dramaturg/prompter/madCLIbs.rb,
lib/dramaturg/ctrl_c_handler/skip.rb,
lib/dramaturg/command/as_collection.rb,
lib/dramaturg/prompter/use_defaults.rb,
lib/dramaturg/ctrl_c_handler/skip_or_exit.rb

Defined Under Namespace

Modules: Prompter, Runner, Value Classes: Command, CtrlCHandler, Parser, Script

Constant Summary collapse

COLORS =
Term::ANSIColor
DEFAULT_CONFIG =
{
  parser: {
    class: Parser
  },
  prompter: {
    class: Prompter::MadCLIbs,
    prompt: ->(p) {
      if p.script.runner.last_success?
        COLORS.bold(COLORS.green("$ "))
      else
        COLORS.bold(COLORS.red("$ "))
      end
    },
    format: (proc do |t|
      if t <= Value::OrDefault
        ->(s) { COLORS.bold(COLORS.cyan(s)) }
      else
        ->(s) { s }
      end
    end),
    ctrlc: CtrlCHandler::SkipOrExit
  },
  runner: {
    class: Runner::Shell
  }
}
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.Thor(thor_actions_object, config = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/dramaturg/thor.rb', line 4

def self.Thor(thor_actions_object, config = {})
  config = ({
    runner: {
      class: Dramaturg::Runner::Thor,
      thor_actions: thor_actions_object
    }
  }).deep_merge(config)

  Dramaturg::Script.new(config)
end