module Mail
  grammar AddressLists

    include RFC2822

    rule primary_address
      address_list {
        def addresses
          ([first_addr] + other_addr.elements.map { |o| o.addr_value }).reject { |e| e.empty? }
        end
      } / obs_addr_list {
        def addresses
          [first_addr] + other_addr.elements.map { |o| o.addr_value }
        end
      }
    end
    
  end
end
