Method: EXEL::Job.run

Defined in:
lib/exel/job.rb

.run(dsl_code_or_name, context = {}) ⇒ Object

If given a symbol as the first parameter, it attempts to run a previously registered job using that name. Alternatively, a string of code can be passed to be parsed and run directly.

Parameters:

  • dsl_code_or_name (String, Symbol)

    As a symbol, the name of a registered job. As a string, the EXEL code to be run.

  • context (Context, Hash) (defaults to: {})

    (Optional) The initial Context to be passed to the job.

Raises:

  • If no job has been registered with the given name



28
29
30
31
32
33
# File 'lib/exel/job.rb', line 28

def run(dsl_code_or_name, context = {})
  context = EXEL::Context.new(context) if context.instance_of?(Hash)
  ast = parse(dsl_code_or_name)
  ast ? ast.start(context) : raise(%(Job "#{dsl_code_or_name}" not found))
  context
end