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