class Andromeda::Cmd::Cmd::Writer

Public Instance Methods

init_mode() click to toggle source
# File lib/andromeda/cmd.rb, line 123
def init_mode ; 'w' end
on_input(key, val) click to toggle source
# File lib/andromeda/cmd.rb, line 125
def on_input(key, val)
  signal_error ArgumentError.new("associated filed not open") unless file
  cmd  = val.cmd
  raise ArgumentError, "invalid cmd" unless cmd.kind_of?(Symbol)
  data = val.data
  str  = if data then data.to_json else '' end
  len  = str.length + 1
  tim  = val.time if val.time
  tim  = Time.now unless tim
  tim  = tim.to_i unless tim.kind_of?(Fixnum)
  new_str = ''
  str.each_line { |line| new_str << "... #{line}\n" }
  str  = nil
  len  = new_str.length
  val  = tags[:comment]
  val.each_line { |line| file.write "\# #{line}\n" } if val
  file.write "<<< ANDROMEDA START :#{cmd} TIME #{tim} LEN #{len} >>>\n"
  file.write new_str
  file.write "<<< ANDROMEDA END :#{cmd} >>>\n"
  super key, val
end

Protected Instance Methods

sync_file(f) click to toggle source
# File lib/andromeda/cmd.rb, line 149
def sync_file(f)
  f.sync
  f.fsync rescue nil
end