Module: EacCli::Runner::AfterClassMethods

Defined in:
lib/eac_cli/runner/after_class_methods.rb

Instance Method Summary collapse

Instance Method Details

#class_runner(runner_context_args) ⇒ EacCli::Runner::ClassRunner



11
12
13
# File 'lib/eac_cli/runner/after_class_methods.rb', line 11

def class_runner(runner_context_args)
  ::EacCli::Runner::ClassRunner.new(self, runner_context_args)
end

#create(*runner_context_args) ⇒ Object



15
16
17
# File 'lib/eac_cli/runner/after_class_methods.rb', line 15

def create(*runner_context_args)
  class_runner(runner_context_args).create
end

#run(*runner_context_args) ⇒ Object



19
20
21
# File 'lib/eac_cli/runner/after_class_methods.rb', line 19

def run(*runner_context_args)
  class_runner(runner_context_args).run
end

#runner_definition(&block) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/eac_cli/runner/after_class_methods.rb', line 23

def runner_definition(&block)
  @runner_definition ||= super_runner_definition
  begin
    @runner_definition.instance_eval(&block) if block
  rescue ::EacCli::Definition::Error => _e
    raise ::EacCli::Definition::Error, "Definition error for #{self}"
  end
  @runner_definition
end

#super_runner_definitionObject



33
34
35
# File 'lib/eac_cli/runner/after_class_methods.rb', line 33

def super_runner_definition
  superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
end