class TMail::MaildirPort

Constants

MAIL_FILE

Public Instance Methods

move_to_cur() click to toggle source
# File lib/tmail/port.rb, line 254
def move_to_cur
  new = replace_dir(@filename, 'cur')
  File.rename @filename, new
  @filename = new
end
move_to_new() click to toggle source
# File lib/tmail/port.rb, line 248
def move_to_new
  new = replace_dir(@filename, 'new')
  File.rename @filename, new
  @filename = new
end

Private Instance Methods

get_status( tag ) click to toggle source
# File lib/tmail/port.rb, line 287
def get_status( tag )
  m = MAIL_FILE.match(File.basename(@filename)) or return false
  m[2] == '2' and m[3].to_s.include?(tag[0])
end
replace_dir( path, dir ) click to toggle source
# File lib/tmail/port.rb, line 260
def replace_dir( path, dir )
  "#{File.dirname File.dirname(path)}/#{dir}/#{File.basename path}"
end
set_status( tag, flag ) click to toggle source
# File lib/tmail/port.rb, line 272
def set_status( tag, flag )
  if m = MAIL_FILE.match(File.basename(@filename))
    s, uniq, type, info, = m.to_a
    return if type and type != '2'  # do not change anything
    newname = File.dirname(@filename) + '/' +
              uniq + ':2,' + procinfostr(info.to_s, tag, flag)
  else
    newname = @filename + ':2,' + tag
  end

  File.link @filename, newname
  File.unlink @filename
  @filename = newname
end