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



7
8
9
# File 'lib/eac_cli/runner/after_class_methods.rb', line 7

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

#create(*runner_context_args) ⇒ Object



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

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

#run(*runner_context_args) ⇒ Object



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

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

#runner_definition(&block) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/eac_cli/runner/after_class_methods.rb', line 19

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



29
30
31
# File 'lib/eac_cli/runner/after_class_methods.rb', line 29

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