module Inprovise::CmdChannel

Command channel for Inprovise

Author

Martin Corino

License

Distributes under the same license as Ruby

Attributes

node[R]

Public Class Methods

default_implementation() click to toggle source
# File lib/inprovise/cmd_channel.rb, line 16
def default_implementation
  @default ||= 'ssh'
end
default_implementation=(impl) click to toggle source
# File lib/inprovise/cmd_channel.rb, line 20
def default_implementation=(impl)
  @default = impl
end
define(impl, base=::Object, &definition) click to toggle source
# File lib/inprovise/cmd_channel.rb, line 24
def define(impl, base=::Object, &definition)
  implklass = Class.new(base) do
    include Inprovise::CmdChannel
  end
  implklass.class_eval(&definition)
  implementations[impl.to_s] = implklass
  implklass
end
implementations() click to toggle source
# File lib/inprovise/cmd_channel.rb, line 12
def implementations
  @implementations ||= {}
end
new(node) click to toggle source
# File lib/inprovise/cmd_channel.rb, line 41
def initialize(node)
  @node = node
end
open(node, impl) click to toggle source
# File lib/inprovise/cmd_channel.rb, line 33
def open(node, impl)
  implementations[impl || default_implementation].new(node)
end

Public Instance Methods

close() click to toggle source

session management

# File lib/inprovise/cmd_channel.rb, line 47
def close
  # noop
end
download(_from, _to) click to toggle source
# File lib/inprovise/cmd_channel.rb, line 63
def download(_from, _to)
  raise RuntimeError, 'UNIMPLEMENTED'
end
run(_command, _forcelog=false) click to toggle source

command execution (MANDATORY)

# File lib/inprovise/cmd_channel.rb, line 53
def run(_command, _forcelog=false)
  raise RuntimeError, 'UNIMPLEMENTED'
end
upload(_from, _to) click to toggle source

MANDATORY file management routines

# File lib/inprovise/cmd_channel.rb, line 59
def upload(_from, _to)
  raise RuntimeError, 'UNIMPLEMENTED'
end