diff options
Diffstat (limited to 'fake-service/lib/pixelated_service/sorted_mail.rb')
-rw-r--r-- | fake-service/lib/pixelated_service/sorted_mail.rb | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/fake-service/lib/pixelated_service/sorted_mail.rb b/fake-service/lib/pixelated_service/sorted_mail.rb deleted file mode 100644 index 555d4bd4..00000000 --- a/fake-service/lib/pixelated_service/sorted_mail.rb +++ /dev/null @@ -1,57 +0,0 @@ -module PixelatedService - class SortedMail - include Enumerable - - NEWEST_FIRST = lambda do |l,r| - (r.headers[:date] || Time.now) <=> (l.headers[:date] || Time.now) - end - - def initialize(&block) - @mails = {} - @mail_order = [] - @sort_procedure = block || NEWEST_FIRST - end - - def []=(k, v) - @mails[k] = v - @mail_order << v - sort_mail_order! - v - end - - def [](k) - @mails[k] - end - - def delete(k) - v = @mails.delete(k) - @mail_order.delete(v) - v - end - - def add_all(hs) - hs.each do |h,v| - @mails[h] = v - @mail_order << v - end - sort_mail_order! - self - end - - def length - @mails.length - end - - def sort_mail_order! - @mail_order.sort!(&@sort_procedure) - @mail_order.compact! - @mail_order.uniq! - end - - def each - @mail_order.each do |m| - yield m - end - end - end -end |