module Pult::Panel::Runner::RunnerInjector

Private Class Methods

inject!(hash, action, runner) click to toggle source
# File lib/pult/panel/runner/injector.rb, line 15
  def self.inject! hash, action, runner
    #
    # TODO runner meths and sys maybe need list
    # for safe using with ! and other
    #
    hash.instance_eval do
      def runner?
        true
      end
    end

    hash.instance_eval <<-STR
      def #{action}_runner
        ->{ ObjectSpace._id2ref(#{runner.object_id}) }.call
      end

      def #{action}_out
        #{action}_runner.stdout
      end

      def #{action}_err
        #{action}_runner.stderr
      end

      def #{action}_inf
        #{action}_runner.info
      end

      def #{action}_suc
        #{action}_inf.success?
      end

      def #{action}_pid
        #{action}_inf.pid
      end

      def #{action}_act

      end

      def #{action}_kill
        Pult::Executor::Terminator.kill! #{action}_pid
      end
    STR
  end
injections() click to toggle source
# File lib/pult/panel/runner/injector.rb, line 3
def self.injections
  read_injections + run_injections
end
read_injections() click to toggle source
# File lib/pult/panel/runner/injector.rb, line 7
def self.read_injections
  %w{ _out _in _err _suc _inf _act _pid }
end
run_injections() click to toggle source
# File lib/pult/panel/runner/injector.rb, line 11
def self.run_injections
  %w{ _kill }
end

Private Instance Methods

runner?() click to toggle source
# File lib/pult/panel/runner/injector.rb, line 21
def runner?
  true
end