lib/vos/box.rb in vos-0.3.12 vs lib/vos/box.rb in vos-0.3.13

- old
+ new

@@ -1,55 +1,55 @@ module Vos class Box include Shell, Marks, Vfs - + def initialize *args first = args.first if args.empty? @driver = Drivers::Local.new elsif first.is_a?(String) or first.is_a?(Symbol) or first.is_a?(Hash) and (args.size <= 2) if first.is_a? Hash options = first options[:host] ||= 'localhost' - else + else options = args[1] || {} raise 'invalid arguments' unless options.is_a?(Hash) options[:host] = first.to_s end - + @driver = options[:host] == 'localhost' ? Drivers::Local.new : Drivers::Ssh.new(options) elsif args.size == 1 @driver = first else raise 'invalid arguments' end end - # + # # driver - # + # attr_reader :driver - + def open &block driver.open &block - end + end def close driver.close end - - # + + # # Miscellaneous - # + # def inspect; driver.to_s end alias_method :to_s, :inspect - + def host; driver.host end - + def local?; host == 'localhost' end - - class << self + + class << self def local; @local ||= Box.new end end end end \ No newline at end of file