class Mail::FieldList

Field List class provides an enhanced array that keeps a list of email fields in order. And allows you to insert new fields without having to worry about the order they will appear in.

Public Instance Methods

<<( new_field ) click to toggle source

Insert the field in sorted order.

Heavily based on bisect.insort from Python, which is:

Copyright (C) 2001-2013 Python Software Foundation.
Licensed under <http://docs.python.org/license.html>
From <http://hg.python.org/cpython/file/2.7/Lib/bisect.py>
# File lib/mail/field_list.rb, line 16
def <<( new_field )
  lo = 0
  hi = size

  while lo < hi
    mid = (lo + hi).div(2)
    if new_field < self[mid]
      hi = mid
    else
      lo = mid + 1
    end
  end

  insert(lo, new_field)
end