mail 2.6.4 → 2.7.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.rdoc +35 -0
  3. data/Dependencies.txt +0 -1
  4. data/Gemfile +7 -7
  5. data/README.md +8 -5
  6. data/Rakefile +0 -6
  7. data/lib/mail/attachments_list.rb +4 -3
  8. data/lib/mail/body.rb +3 -3
  9. data/lib/mail/check_delivery_params.rb +47 -10
  10. data/lib/mail/core_extensions/smtp.rb +19 -16
  11. data/lib/mail/core_extensions/string.rb +0 -4
  12. data/lib/mail/elements/address.rb +18 -8
  13. data/lib/mail/elements/address_list.rb +10 -18
  14. data/lib/mail/elements/content_disposition_element.rb +8 -15
  15. data/lib/mail/elements/content_location_element.rb +5 -10
  16. data/lib/mail/elements/content_transfer_encoding_element.rb +5 -10
  17. data/lib/mail/elements/content_type_element.rb +8 -19
  18. data/lib/mail/elements/date_time_element.rb +6 -14
  19. data/lib/mail/elements/envelope_from_element.rb +14 -21
  20. data/lib/mail/elements/message_ids_element.rb +8 -12
  21. data/lib/mail/elements/mime_version_element.rb +6 -14
  22. data/lib/mail/elements/phrase_list.rb +6 -9
  23. data/lib/mail/elements/received_element.rb +9 -15
  24. data/lib/mail/encodings.rb +12 -14
  25. data/lib/mail/field.rb +7 -4
  26. data/lib/mail/fields/common/address_container.rb +2 -2
  27. data/lib/mail/fields/common/parameter_hash.rb +1 -1
  28. data/lib/mail/fields/content_type_field.rb +2 -7
  29. data/lib/mail/fields/unstructured_field.rb +2 -2
  30. data/lib/mail/header.rb +1 -0
  31. data/lib/mail/message.rb +23 -25
  32. data/lib/mail/multibyte/chars.rb +29 -29
  33. data/lib/mail/multibyte.rb +51 -0
  34. data/lib/mail/network/delivery_methods/file_delivery.rb +4 -8
  35. data/lib/mail/network/delivery_methods/sendmail.rb +2 -4
  36. data/lib/mail/network/delivery_methods/smtp.rb +16 -11
  37. data/lib/mail/network/delivery_methods/smtp_connection.rb +2 -6
  38. data/lib/mail/network/delivery_methods/test_mailer.rb +5 -8
  39. data/lib/mail/network/retriever_methods/test_retriever.rb +1 -1
  40. data/lib/mail/parsers/address_lists_parser.rb +15321 -112
  41. data/lib/mail/parsers/address_lists_parser.rl +166 -0
  42. data/lib/mail/parsers/content_disposition_parser.rb +698 -55
  43. data/lib/mail/parsers/content_disposition_parser.rl +76 -0
  44. data/lib/mail/parsers/content_location_parser.rb +565 -23
  45. data/lib/mail/parsers/content_location_parser.rl +65 -0
  46. data/lib/mail/parsers/content_transfer_encoding_parser.rb +410 -22
  47. data/lib/mail/parsers/content_transfer_encoding_parser.rl +58 -0
  48. data/lib/mail/parsers/content_type_parser.rb +841 -54
  49. data/lib/mail/parsers/content_type_parser.rl +77 -0
  50. data/lib/mail/parsers/date_time_parser.rb +773 -26
  51. data/lib/mail/parsers/date_time_parser.rl +56 -0
  52. data/lib/mail/parsers/envelope_from_parser.rb +2051 -36
  53. data/lib/mail/parsers/envelope_from_parser.rl +76 -0
  54. data/lib/mail/parsers/message_ids_parser.rb +1494 -25
  55. data/lib/mail/parsers/message_ids_parser.rl +76 -0
  56. data/lib/mail/parsers/mime_version_parser.rb +393 -26
  57. data/lib/mail/parsers/mime_version_parser.rl +55 -0
  58. data/lib/mail/parsers/phrase_lists_parser.rb +529 -19
  59. data/lib/mail/parsers/phrase_lists_parser.rl +77 -0
  60. data/lib/mail/parsers/received_parser.rb +4711 -38
  61. data/lib/mail/parsers/received_parser.rl +78 -0
  62. data/lib/mail/parsers/rfc2045_content_transfer_encoding.rl +12 -0
  63. data/lib/mail/parsers/rfc2045_content_type.rl +24 -0
  64. data/lib/mail/parsers/rfc2045_mime.rl +15 -0
  65. data/lib/mail/parsers/rfc2183_content_disposition.rl +14 -0
  66. data/lib/mail/parsers/rfc5234_abnf_core_rules.rl +16 -0
  67. data/lib/mail/parsers/rfc5322.rl +57 -0
  68. data/lib/mail/parsers/rfc5322_address.rl +70 -0
  69. data/lib/mail/parsers/{ragel/date_time.rl → rfc5322_date_time.rl} +7 -1
  70. data/lib/mail/parsers/rfc5322_lexical_tokens.rl +56 -0
  71. data/lib/mail/parsers.rb +16 -24
  72. data/lib/mail/part.rb +1 -1
  73. data/lib/mail/parts_list.rb +5 -6
  74. data/lib/mail/utilities.rb +19 -3
  75. data/lib/mail/version.rb +3 -3
  76. data/lib/mail/version_specific/ruby_1_8.rb +28 -2
  77. data/lib/mail/version_specific/ruby_1_9.rb +51 -8
  78. data/lib/mail.rb +2 -10
  79. metadata +28 -45
  80. data/lib/mail/core_extensions/string/access.rb +0 -146
  81. data/lib/mail/core_extensions/string/multibyte.rb +0 -79
  82. data/lib/mail/parsers/ragel/common.rl +0 -185
  83. data/lib/mail/parsers/ragel/parser_info.rb +0 -61
  84. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb +0 -14864
  85. data/lib/mail/parsers/ragel/ruby/machines/address_lists_machine.rb.rl +0 -37
  86. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb +0 -751
  87. data/lib/mail/parsers/ragel/ruby/machines/content_disposition_machine.rb.rl +0 -37
  88. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb +0 -614
  89. data/lib/mail/parsers/ragel/ruby/machines/content_location_machine.rb.rl +0 -37
  90. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb +0 -447
  91. data/lib/mail/parsers/ragel/ruby/machines/content_transfer_encoding_machine.rb.rl +0 -37
  92. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb +0 -825
  93. data/lib/mail/parsers/ragel/ruby/machines/content_type_machine.rb.rl +0 -37
  94. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb +0 -817
  95. data/lib/mail/parsers/ragel/ruby/machines/date_time_machine.rb.rl +0 -37
  96. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb +0 -2149
  97. data/lib/mail/parsers/ragel/ruby/machines/envelope_from_machine.rb.rl +0 -37
  98. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb +0 -1570
  99. data/lib/mail/parsers/ragel/ruby/machines/message_ids_machine.rb.rl +0 -37
  100. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb +0 -440
  101. data/lib/mail/parsers/ragel/ruby/machines/mime_version_machine.rb.rl +0 -37
  102. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb +0 -564
  103. data/lib/mail/parsers/ragel/ruby/machines/phrase_lists_machine.rb.rl +0 -37
  104. data/lib/mail/parsers/ragel/ruby/machines/rb_actions.rl +0 -51
  105. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb +0 -5144
  106. data/lib/mail/parsers/ragel/ruby/machines/received_machine.rb.rl +0 -37
  107. data/lib/mail/parsers/ragel/ruby/parser.rb.rl.erb +0 -37
  108. data/lib/mail/parsers/ragel/ruby.rb +0 -40
  109. data/lib/mail/parsers/ragel.rb +0 -18
@@ -1,37 +0,0 @@
1
- %%{
2
- machine content_type;
3
-
4
- include rb_actions "rb_actions.rl";
5
- include common "../../common.rl";
6
-
7
- getkey data_unpacked[p];
8
-
9
- main := content_type;
10
- }%%
11
-
12
- module Mail
13
- module Parsers
14
- module Ragel
15
- module ContentTypeMachine
16
- %%write data;
17
-
18
- def self.parse(data)
19
- p = 0
20
- eof = data.length
21
- stack = []
22
-
23
- actions = []
24
- data_unpacked = data.bytes.to_a
25
- %%write init;
26
- %%write exec;
27
-
28
- if p == eof && cs >= %%{ write first_final; }%%
29
- return actions, nil
30
- else
31
- return [], "Only able to parse up to #{data[0..p]}"
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end