module Moob

Constants

AUTODETECT_ORDER
TYPES
VERSION

Public Class Methods

inform(msg) click to toggle source
# File lib/moob.rb, line 97
def self.inform msg
  $stderr.puts "\033[36m#{msg}\033[0m" if $VERBOSE
end
lom(type, hostname, options = {}) click to toggle source
# File lib/moob.rb, line 41
def self.lom type, hostname, options = {}
  case type
  when :auto
    AUTODETECT_ORDER.each do |sym|
      Moob.inform "Trying type #{sym}..."
      lom = TYPES[sym].new hostname, options
      if lom.detect
        Moob.inform "Type #{sym} detected."
        return lom
      end
      false
    end
    raise 'Couldn\'t detect a known LOM type'
  else
    raise "Type #{type} unknown" unless TYPES[type]
    return TYPES[type].new hostname, options
  end
end
save_console_preview(lom) click to toggle source
# File lib/moob.rb, line 84
def self.save_console_preview lom
  imgfile, headers = lom.fetch_console_preview

  timestamp=Time.parse(headers['Last-modified'] || headers['Last-Modified'])
  fileext=(headers['Content-type'] || headers['Content-Type']).split('/')[1]

  filename="#{lom.hostname}-#{timestamp.utc.iso8601(0)}.#{fileext}"

  FileUtils.cp(imgfile.path, filename)

  return filename
end
show_console_preview(lom) click to toggle source
# File lib/moob.rb, line 74
def self.show_console_preview lom
  imgfile, headers = lom.fetch_console_preview

  if RUBY_PLATFORM =~ /darwin/
    raise 'open failed' unless system "open #{imgfile.path}"
  else
    raise 'see failed' unless system "see #{imgfile.path}"
  end
end
start_jnlp(lom) click to toggle source
# File lib/moob.rb, line 60
def self.start_jnlp lom
  jnlp = lom.jnlp

  unless jnlp[/<\/jnlp>/]
    raise "Invalid JNLP file (\"#{jnlp}\")"
  end

  tmpfile = Tempfile.new("#{lom.hostname}_#{Time.now.to_i}.jnlp")
  tmpfile.write jnlp
  tmpfile.close

  raise 'javaws failed' unless system "javaws -wait #{tmpfile.path}"
end
warn(msg) click to toggle source
# File lib/moob.rb, line 101
def self.warn msg
  $stderr.puts "\033[36m#{msg}\033[0m"
end