Class: Avm::Rails::Runners::Runner

Inherits:
EacRubyUtils::Console::DocoptRunner
  • Object
show all
Defined in:
lib/avm/rails/runners/runner.rb

Constant Summary collapse

DOC =
"Runs a Ruby code with \"rails runner\".\n\nUsage:\n  __PROGRAM__ [options] <code>\n  __PROGRAM__ --version\n  __PROGRAM__ -h | --help\n\nOptions:\n  -h --help         Show this screen.\n  -e --environment  Specifies the environment for the runner to\n                    operate (test/development/production). Default: \"development\".\n"

Instance Method Summary collapse

Instance Method Details

#bundle_argsObject



37
38
39
# File 'lib/avm/rails/runners/runner.rb', line 37

def bundle_args
  %w[exec rails runner] + runner_args
end

#runObject



27
28
29
30
31
# File 'lib/avm/rails/runners/runner.rb', line 27

def run
  infov 'Runner arguments', runner_args
  infov 'Environment', context(:instance).host_env
  runner_command.system!
end

#runner_argsObject



41
42
43
44
# File 'lib/avm/rails/runners/runner.rb', line 41

def runner_args
  options.fetch('--environment').if_present([]) { |v| ['--environment', v] } +
    [options.fetch('<code>')]
end

#runner_command_uncachedObject



33
34
35
# File 'lib/avm/rails/runners/runner.rb', line 33

def runner_command_uncached
  context(:instance).bundle(*bundle_args)
end