class Runfile::Runner

Executes docopt.

Public Class Methods

run(docopt, version: nil, argv: nil) { |args| ... } click to toggle source
# File lib/runfile/runner.rb, line 5
def run(docopt, version: nil, argv: nil)
  args = call_docopt docopt, argv: argv, version: version
  yield args if block_given?
  args
end

Private Class Methods

call_docopt(docopt, version: nil, argv: nil) click to toggle source
# File lib/runfile/runner.rb, line 13
def call_docopt(docopt, version: nil, argv: nil)
  DocoptNG.docopt docopt, argv: argv, version: version
rescue DocoptNG::Exit => e
  raise ExitWithUsage.new(exit_code: e.exit_code), e.message
rescue DocoptNG::DocoptLanguageError => e
  raise DocoptError, "There is an error in your runfile:\nnb`#{e.message}`"
end