Class: TMail::Maildir
- Extended by:
- Mutex_m
- Defined in:
- lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb,
lib/action_mailer/vendor/tmail-1.2.1/tmail/obsolete.rb
Constant Summary collapse
- PORT_CLASS =
MaildirPort
- TOO_OLD =
36 hour
60 * 60 * 36
Class Method Summary collapse
Instance Method Summary collapse
- #check_tmp ⇒ Object
- #close ⇒ Object
- #directory ⇒ Object
- #each_new_port ⇒ Object (also: #each_newmail)
- #each_port ⇒ Object (also: #each, #each_mail)
-
#initialize(dir = nil) ⇒ Maildir
constructor
A new instance of Maildir.
- #inspect ⇒ Object
- #new_port ⇒ Object (also: #new_mail)
- #reverse_each_port ⇒ Object (also: #reverse_each)
Constructor Details
#initialize(dir = nil) ⇒ Maildir
Returns a new instance of Maildir.
331 332 333 334 335 336 337 338 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 331 def initialize( dir = nil ) @dirname = dir || ENV['MAILDIR'] raise ArgumentError, "not directory: #{@dirname}"\ unless FileTest.directory? @dirname @new = "#{@dirname}/new" @tmp = "#{@dirname}/tmp" @cur = "#{@dirname}/cur" end |
Class Method Details
Instance Method Details
#check_tmp ⇒ Object
401 402 403 404 405 406 407 408 409 410 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 401 def check_tmp old = Time.now.to_i - TOO_OLD each_filename(@tmp) do |full, fname| if FileTest.file? full and File.stat(full).mtime.to_i < old File.unlink full end end end |
#close ⇒ Object
348 349 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 348 def close end |
#directory ⇒ Object
340 341 342 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 340 def directory @dirname end |
#each_new_port ⇒ Object Also known as: each_newmail
389 390 391 392 393 394 395 396 397 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 389 def each_new_port mail_files(@new).each do |path| dest = @cur + '/' + File.basename(path) File.rename path, dest yield PORT_CLASS.new(dest) end check_tmp end |
#each_port ⇒ Object Also known as: each, each_mail
351 352 353 354 355 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 351 def each_port mail_files(@cur).each do |path| yield PORT_CLASS.new(path) end end |
#inspect ⇒ Object
344 345 346 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 344 def inspect "#<#{self.class} #{@dirname}>" end |
#new_port ⇒ Object Also known as: new_mail
367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 367 def new_port fname = nil tmpfname = nil newfname = nil begin fname = "#{Time.now.to_i}.#{$$}_#{Maildir.unique_number}.#{Socket.gethostname}" tmpfname = "#{@tmp}/#{fname}" newfname = "#{@new}/#{fname}" end while FileTest.exist? tmpfname if block_given? File.open(tmpfname, 'w') {|f| yield f } File.rename tmpfname, newfname PORT_CLASS.new(newfname) else File.open(tmpfname, 'w') {|f| f.write "\n\n" } PORT_CLASS.new(tmpfname) end end |
#reverse_each_port ⇒ Object Also known as: reverse_each
359 360 361 362 363 |
# File 'lib/action_mailer/vendor/tmail-1.2.1/tmail/mailbox.rb', line 359 def reverse_each_port mail_files(@cur).reverse_each do |path| yield PORT_CLASS.new(path) end end |