Class: Pounder::Maildir

Inherits:
Object
  • Object
show all
Defined in:
lib/pounder/maildir.rb,
lib/pounder/maildir/message.rb

Defined Under Namespace

Classes: Message

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ Maildir

Returns a new instance of Maildir.



3
4
5
# File 'lib/pounder/maildir.rb', line 3

def initialize(path)
  @path = path
end

Instance Method Details

#[](seq) ⇒ Object



23
24
25
# File 'lib/pounder/maildir.rb', line 23

def [](seq)
  messages.find { |m| m.seq == seq }
end

#messagesObject



7
8
9
10
11
12
13
# File 'lib/pounder/maildir.rb', line 7

def messages
  @messages ||=
    begin
      seq = 0
      Dir.entries(@path).select { |entry| File.ftype("#{@path}/#{entry}") == "file" }.map { |filename| Message.new(@path, filename, (seq += 1), File.size("#{@path}/#{filename}")) }
    end
end

#sizeObject



15
16
17
# File 'lib/pounder/maildir.rb', line 15

def size
  messages.size
end

#total_octetsObject



19
20
21
# File 'lib/pounder/maildir.rb', line 19

def total_octets
  messages.inject(0) { |total, message| total += message.octets }
end