Sha256: b78e1cf78c4ec5e282b1760fb45e93d1c82725bf72c40a5605720ac5316ea569

Contents?: true

Size: 674 Bytes

Versions: 3

Compression:

Stored size: 674 Bytes

Contents

module Oxidized
  require "oxidized/input/cli"

  class Exec < Input
    include Input::CLI

    def connect(node)
      @node = node
      @log = File.open(Oxidized::Config::LOG + "/#{@node.ip}-exec", "w") if Oxidized.config.input.debug?
      @node.model.cfg["exec"].each { |cb| instance_exec(&cb) }
    end

    def cmd(cmd_str)
      Oxidized.logger.debug "EXEC: #{cmd_str} @ #{@node.name}"
      # I'd really like to do popen3 with separate arguments, but that would
      # require refactoring cmd to take parameters
      %x(#{cmd_str})
    end

    private

    def disconnect
      true
    ensure
      @log.close if Oxidized.config.input.debug?
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
oxidized-0.31.0 lib/oxidized/input/exec.rb
oxidized-0.30.1 lib/oxidized/input/exec.rb
oxidized-0.30.0 lib/oxidized/input/exec.rb