Sha256: 22091ed6c604be4a2748ac0d1189a4430f10cd37d48c266496b86afa7d309aaf

Contents?: true

Size: 623 Bytes

Versions: 34

Compression:

Stored size: 623 Bytes

Contents

module Imap::Backup
  class Serializer::MboxEnumerator
    attr_reader :mbox_pathname

    def initialize(mbox_pathname)
      @mbox_pathname = mbox_pathname
    end

    def each
      return enum_for(:each) if !block_given?

      File.open(mbox_pathname, "rb") do |f|
        lines = []

        loop do
          line = f.gets
          break if !line

          if line.start_with?("From ")
            yield lines.join if lines.count.positive?
            lines = [line]
          else
            lines << line
          end
        end

        yield lines.join if lines.count.positive?
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
imap-backup-5.2.0 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-5.1.0 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-5.0.0 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.2.2 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.2.1 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.2.0 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.1.2 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.1.1 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.7 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.6 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.5 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.4 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.3 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.2 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.1 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.0 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.0.rc6 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.0.rc5 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.0.rc4 lib/imap/backup/serializer/mbox_enumerator.rb
imap-backup-4.0.0.rc3 lib/imap/backup/serializer/mbox_enumerator.rb