mail 2.1.5 → 2.1.5.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of mail might be problematic. Click here for more details.

Files changed (173) hide show
  1. data/CHANGELOG.rdoc +7 -0
  2. data/Rakefile +4 -7
  3. data/lib/mail.rb +17 -54
  4. data/lib/mail/elements.rb +15 -0
  5. data/lib/mail/{encodings/encodings.rb → encodings.rb} +1 -0
  6. data/lib/mail/encodings/7bit.rb +2 -0
  7. data/lib/mail/encodings/8bit.rb +2 -0
  8. data/lib/mail/encodings/base64.rb +2 -0
  9. data/lib/mail/encodings/binary.rb +2 -0
  10. data/lib/mail/encodings/quoted_printable.rb +2 -0
  11. data/lib/mail/field.rb +2 -0
  12. data/lib/mail/fields.rb +35 -0
  13. data/lib/mail/fields/bcc_field.rb +2 -0
  14. data/lib/mail/fields/cc_field.rb +2 -0
  15. data/lib/mail/fields/common/common_address.rb +99 -111
  16. data/lib/mail/fields/common/common_date.rb +30 -39
  17. data/lib/mail/fields/common/common_field.rb +39 -53
  18. data/lib/mail/fields/common/common_message_id.rb +30 -44
  19. data/lib/mail/fields/content_disposition_field.rb +2 -3
  20. data/lib/mail/fields/content_type_field.rb +2 -3
  21. data/lib/mail/fields/date_field.rb +2 -0
  22. data/lib/mail/fields/from_field.rb +2 -0
  23. data/lib/mail/fields/in_reply_to_field.rb +2 -0
  24. data/lib/mail/fields/message_id_field.rb +2 -0
  25. data/lib/mail/fields/optional_field.rb +2 -0
  26. data/lib/mail/fields/references_field.rb +2 -0
  27. data/lib/mail/fields/reply_to_field.rb +2 -0
  28. data/lib/mail/fields/resent_bcc_field.rb +2 -0
  29. data/lib/mail/fields/resent_cc_field.rb +2 -0
  30. data/lib/mail/fields/resent_date_field.rb +2 -0
  31. data/lib/mail/fields/resent_from_field.rb +2 -0
  32. data/lib/mail/fields/resent_message_id_field.rb +2 -0
  33. data/lib/mail/fields/resent_sender_field.rb +2 -0
  34. data/lib/mail/fields/resent_to_field.rb +2 -0
  35. data/lib/mail/fields/return_path_field.rb +2 -0
  36. data/lib/mail/fields/sender_field.rb +2 -0
  37. data/lib/mail/fields/structured_field.rb +2 -0
  38. data/lib/mail/fields/to_field.rb +2 -0
  39. data/lib/mail/fields/unstructured_field.rb +2 -0
  40. data/lib/mail/network.rb +9 -0
  41. data/lib/mail/network/delivery_methods/file_delivery.rb +2 -2
  42. data/lib/mail/patterns.rb +0 -16
  43. data/lib/mail/utilities.rb +132 -145
  44. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/History.txt +0 -0
  45. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/LICENSE +0 -0
  46. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/README.md +0 -0
  47. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/Rakefile +0 -0
  48. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/Treetop.tmbundle/Preferences/Comments.tmPreferences +0 -0
  49. data/lib/mail/vendor/treetop-1.4.3/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet b/data/lib/mail/vendor/treetop-1.4.4/Treetop.tmbundle/Snippets/grammar ___ → end.tmSnippet +0 -0
  50. data/lib/mail/vendor/treetop-1.4.3/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet b/data/lib/mail/vendor/treetop-1.4.4/Treetop.tmbundle/Snippets/rule ___ → end.tmSnippet +0 -0
  51. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/Treetop.tmbundle/Support/nibs/SyntaxTreeViewer.nib/designable.nib +0 -0
  52. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/Treetop.tmbundle/Support/nibs/SyntaxTreeViewer.nib/keyedobjects.nib +0 -0
  53. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/Treetop.tmbundle/Support/syntax_tree_viewer.rb +0 -0
  54. data/lib/mail/vendor/treetop-1.4.3/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage b/data/lib/mail/vendor/treetop-1.4.4/Treetop.tmbundle/Syntaxes/Treetop → Grammar.tmLanguage +0 -0
  55. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/Treetop.tmbundle/info.plist +0 -0
  56. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/benchmark/seqpar.gnuplot +0 -0
  57. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/benchmark/seqpar.treetop +0 -0
  58. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/benchmark/seqpar_benchmark.rb +0 -0
  59. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/bin/tt +0 -0
  60. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/contributing_and_planned_features.markdown +0 -0
  61. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/grammar_composition.markdown +0 -0
  62. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/index.markdown +0 -0
  63. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/pitfalls_and_advanced_techniques.markdown +0 -0
  64. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/semantic_interpretation.markdown +0 -0
  65. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/site.rb +0 -0
  66. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/sitegen.rb +0 -0
  67. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/syntactic_recognition.markdown +0 -0
  68. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/doc/using_in_ruby.markdown +0 -0
  69. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/arithmetic.rb +0 -0
  70. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/arithmetic.treetop +0 -0
  71. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/arithmetic_node_classes.rb +0 -0
  72. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/arithmetic_test.rb +0 -0
  73. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/lambda_calculus +0 -0
  74. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/lambda_calculus.rb +0 -0
  75. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/lambda_calculus.treetop +0 -0
  76. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/lambda_calculus_node_classes.rb +0 -0
  77. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/lambda_calculus_test.rb +0 -0
  78. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/examples/lambda_calculus/test_helper.rb +0 -0
  79. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop.rb +1 -1
  80. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -0
  81. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler.rb +0 -0
  82. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/grammar_compiler.rb +0 -0
  83. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/lexical_address_space.rb +0 -0
  84. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/metagrammar.rb +0 -0
  85. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/metagrammar.treetop +0 -0
  86. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes.rb +0 -0
  87. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -0
  88. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -0
  89. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/character_class.rb +0 -0
  90. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/choice.rb +0 -0
  91. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -0
  92. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/grammar.rb +0 -0
  93. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/inline_module.rb +0 -0
  94. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/nonterminal.rb +0 -0
  95. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/optional.rb +0 -0
  96. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -0
  97. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -0
  98. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -0
  99. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/predicate.rb +0 -0
  100. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/predicate_block.rb +0 -0
  101. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/repetition.rb +0 -0
  102. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/sequence.rb +0 -0
  103. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/terminal.rb +0 -0
  104. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -0
  105. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/node_classes/treetop_file.rb +0 -0
  106. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/compiler/ruby_builder.rb +0 -0
  107. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/polyglot.rb +0 -0
  108. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/ruby_extensions.rb +0 -0
  109. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/ruby_extensions/string.rb +0 -0
  110. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime.rb +0 -0
  111. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/compiled_parser.rb +0 -0
  112. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/interval_skip_list.rb +0 -0
  113. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -0
  114. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -0
  115. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/interval_skip_list/node.rb +0 -0
  116. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/syntax_node.rb +0 -0
  117. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/terminal_parse_failure.rb +0 -0
  118. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/runtime/terminal_syntax_node.rb +0 -0
  119. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/lib/treetop/version.rb +0 -0
  120. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/script/generate_metagrammar.rb +0 -0
  121. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/script/svnadd +0 -0
  122. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/script/svnrm +0 -0
  123. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/and_predicate_spec.rb +0 -0
  124. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/anything_symbol_spec.rb +0 -0
  125. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/character_class_spec.rb +0 -0
  126. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/choice_spec.rb +0 -0
  127. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/circular_compilation_spec.rb +0 -0
  128. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/failure_propagation_functional_spec.rb +0 -0
  129. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/grammar_compiler_spec.rb +0 -0
  130. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/grammar_spec.rb +0 -0
  131. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/multibyte_chars_spec.rb +0 -0
  132. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/nonterminal_symbol_spec.rb +0 -0
  133. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/not_predicate_spec.rb +0 -0
  134. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/one_or_more_spec.rb +0 -0
  135. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/optional_spec.rb +0 -0
  136. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/parenthesized_expression_spec.rb +0 -0
  137. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/parsing_rule_spec.rb +0 -0
  138. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/repeated_subrule_spec.rb +0 -0
  139. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/semantic_predicate_spec.rb +0 -0
  140. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/sequence_spec.rb +0 -0
  141. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/terminal_spec.rb +0 -0
  142. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/terminal_symbol_spec.rb +0 -0
  143. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/test_grammar.treetop +0 -0
  144. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/test_grammar.tt +0 -0
  145. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/test_grammar_do.treetop +0 -0
  146. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/tt_compiler_spec.rb +0 -0
  147. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/compiler/zero_or_more_spec.rb +0 -0
  148. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/a.treetop +0 -0
  149. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/b.treetop +0 -0
  150. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/c.treetop +0 -0
  151. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/d.treetop +0 -0
  152. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/f.treetop +0 -0
  153. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/grammar_composition_spec.rb +0 -0
  154. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/composition/subfolder/e_includes_c.treetop +0 -0
  155. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/ruby_extensions/string_spec.rb +0 -0
  156. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/compiled_parser_spec.rb +0 -0
  157. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/delete_spec.rb +0 -0
  158. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/expire_range_spec.rb +0 -0
  159. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/insert_and_delete_node.rb +0 -0
  160. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/insert_spec.rb +0 -0
  161. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +0 -0
  162. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +0 -0
  163. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/palindromic_fixture.rb +0 -0
  164. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +0 -0
  165. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/interval_skip_list/spec_helper.rb +0 -0
  166. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/runtime/syntax_node_spec.rb +0 -0
  167. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/spec/spec_helper.rb +0 -0
  168. data/lib/mail/vendor/{treetop-1.4.3 → treetop-1.4.4}/treetop.gemspec +0 -0
  169. data/lib/mail/vendor/treetop.rb +1 -3
  170. data/lib/mail/version.rb +2 -1
  171. data/lib/tasks/corpus.rake +3 -3
  172. metadata +131 -128
  173. data/lib/mail/vendor/treetop-1.4.3/Or +0 -0
@@ -1,51 +1,42 @@
1
1
  # encoding: utf-8
2
2
  module Mail
3
3
  module CommonDate # :nodoc:
4
-
5
- module InstanceMethods # :doc:
6
-
7
- # Returns a date time object of the parsed date
8
- def date_time
9
- ::DateTime.parse("#{element.date_string} #{element.time_string}")
10
- end
4
+ # Returns a date time object of the parsed date
5
+ def date_time
6
+ ::DateTime.parse("#{element.date_string} #{element.time_string}")
7
+ end
11
8
 
12
- def default
13
- date_time
14
- end
15
-
16
- def parse(val = value)
17
- unless val.blank?
18
- @element = Mail::DateTimeElement.new(val)
19
- @tree = @element.tree
20
- else
21
- nil
22
- end
9
+ def default
10
+ date_time
11
+ end
12
+
13
+ def parse(val = value)
14
+ unless val.blank?
15
+ @element = Mail::DateTimeElement.new(val)
16
+ @tree = @element.tree
17
+ else
18
+ nil
23
19
  end
20
+ end
24
21
 
25
- private
26
-
27
- def do_encode(field_name)
28
- "#{field_name}: #{value}\r\n"
29
- end
30
-
31
- def do_decode
32
- "#{value}"
33
- end
22
+ private
23
+
24
+ def do_encode(field_name)
25
+ "#{field_name}: #{value}\r\n"
26
+ end
27
+
28
+ def do_decode
29
+ "#{value}"
30
+ end
34
31
 
35
- def element
36
- @element ||= Mail::DateTimeElement.new(value)
37
- end
38
-
39
- # Returns the syntax tree of the Date
40
- def tree
41
- @tree ||= element.tree
42
- end
43
-
32
+ def element
33
+ @element ||= Mail::DateTimeElement.new(value)
44
34
  end
45
35
 
46
- def self.included(receiver) # :nodoc:
47
- receiver.send :include, InstanceMethods
36
+ # Returns the syntax tree of the Date
37
+ def tree
38
+ @tree ||= element.tree
48
39
  end
49
40
 
50
41
  end
51
- end
42
+ end
@@ -1,64 +1,50 @@
1
1
  # encoding: utf-8
2
2
  module Mail
3
3
  module CommonField # :nodoc:
4
+ def name=(value)
5
+ @name = value
6
+ end
4
7
 
5
- module ClassMethods # :nodoc:
6
-
8
+ def name
9
+ @name
7
10
  end
8
11
 
9
- module InstanceMethods # :doc:
10
-
11
- def name=(value)
12
- @name = value
13
- end
14
-
15
- def name
16
- @name
17
- end
18
-
19
- def value=(value)
20
- @length = nil
21
- @tree = nil
22
- @element = nil
23
- @value = value
24
- end
25
-
26
- def value
27
- @value
28
- end
29
-
30
- def to_s
31
- decoded
32
- end
33
-
34
- def default
35
- decoded
36
- end
37
-
38
- def field_length
39
- @length ||= name.length + value.length + ': '.length
40
- end
41
-
42
- def responsible_for?( val )
43
- name.to_s.downcase == val.to_s.downcase
44
- end
45
-
46
- private
47
-
48
- def strip_field(field_name, string)
49
- if string.is_a?(Array)
50
- string.join(', ')
51
- else
52
- string.to_s.gsub(/#{field_name}:\s+/i, '')
53
- end
54
- end
55
-
12
+ def value=(value)
13
+ @length = nil
14
+ @tree = nil
15
+ @element = nil
16
+ @value = value
56
17
  end
57
18
 
58
- def self.included(receiver) # :nodoc:
59
- receiver.extend ClassMethods
60
- receiver.send :include, InstanceMethods
19
+ def value
20
+ @value
61
21
  end
62
22
 
23
+ def to_s
24
+ decoded
25
+ end
26
+
27
+ def default
28
+ decoded
29
+ end
30
+
31
+ def field_length
32
+ @length ||= name.length + value.length + ': '.length
33
+ end
34
+
35
+ def responsible_for?( val )
36
+ name.to_s.downcase == val.to_s.downcase
37
+ end
38
+
39
+ private
40
+
41
+ def strip_field(field_name, string)
42
+ if string.is_a?(Array)
43
+ string.join(', ')
44
+ else
45
+ string.to_s.gsub(/#{field_name}:\s+/i, '')
46
+ end
47
+ end
48
+
63
49
  end
64
- end
50
+ end
@@ -1,57 +1,43 @@
1
1
  # encoding: utf-8
2
2
  module Mail
3
3
  module CommonMessageId # :nodoc:
4
-
5
- module ClassMethods # :nodoc:
6
-
4
+ def element
5
+ @element ||= Mail::MessageIdsElement.new(value)
7
6
  end
8
7
 
9
- module InstanceMethods # :doc:
10
-
11
- def element
12
- @element ||= Mail::MessageIdsElement.new(value)
13
- end
14
-
15
- def parse(val = value)
16
- unless val.blank?
17
- @element = Mail::MessageIdsElement.new(val)
18
- else
19
- nil
20
- end
21
- end
22
-
23
- def message_id
24
- element.message_id
8
+ def parse(val = value)
9
+ unless val.blank?
10
+ @element = Mail::MessageIdsElement.new(val)
11
+ else
12
+ nil
25
13
  end
26
-
27
- def message_ids
28
- element.message_ids
29
- end
30
-
31
- def default
32
- if message_ids.length == 1
33
- message_ids[0]
34
- else
35
- message_ids
36
- end
14
+ end
15
+
16
+ def message_id
17
+ element.message_id
18
+ end
19
+
20
+ def message_ids
21
+ element.message_ids
22
+ end
23
+
24
+ def default
25
+ if message_ids.length == 1
26
+ message_ids[0]
27
+ else
28
+ message_ids
37
29
  end
30
+ end
38
31
 
39
- private
40
-
41
- def do_encode(field_name)
42
- %Q{#{field_name}: #{message_ids.map { |m| "<#{m}>" }.join(', ')}\r\n}
43
- end
44
-
45
- def do_decode
46
- "#{message_ids.map { |m| "<#{m}>" }.join(', ')}"
47
- end
48
-
32
+ private
33
+
34
+ def do_encode(field_name)
35
+ %Q{#{field_name}: #{message_ids.map { |m| "<#{m}>" }.join(', ')}\r\n}
49
36
  end
50
37
 
51
- def self.included(receiver) # :nodoc:
52
- receiver.extend ClassMethods
53
- receiver.send :include, InstanceMethods
38
+ def do_decode
39
+ "#{message_ids.map { |m| "<#{m}>" }.join(', ')}"
54
40
  end
55
41
 
56
42
  end
57
- end
43
+ end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
- #
3
- #
4
- #
2
+ require 'mail/fields/common/parameter_hash'
3
+
5
4
  module Mail
6
5
  class ContentDispositionField < StructuredField
7
6
 
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
- #
3
- #
4
- #
2
+ require 'mail/fields/common/parameter_hash'
3
+
5
4
  module Mail
6
5
  class ContentTypeField < StructuredField
7
6
 
@@ -21,6 +21,8 @@
21
21
  # mail['date'] #=> '#<Mail::Field:0x180e5e8 @field=#<Mail::DateField:0x180e1c4
22
22
  # mail['Date'] #=> '#<Mail::Field:0x180e5e8 @field=#<Mail::DateField:0x180e1c4
23
23
  #
24
+ require 'mail/fields/common/common_date'
25
+
24
26
  module Mail
25
27
  class DateField < StructuredField
26
28
 
@@ -26,6 +26,8 @@
26
26
  # mail[:from].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:from].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class FromField < StructuredField
31
33
 
@@ -26,6 +26,8 @@
26
26
  #
27
27
  # mail[:in_reply_to].message_ids #=> ['F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom']
28
28
  #
29
+ require 'mail/fields/common/common_message_id'
30
+
29
31
  module Mail
30
32
  class InReplyToField < StructuredField
31
33
 
@@ -28,6 +28,8 @@
28
28
  # mail[:message_id].message_id #=> 'F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom'
29
29
  # mail[:message_id].message_ids #=> ['F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom']
30
30
  #
31
+ require 'mail/fields/common/common_message_id'
32
+
31
33
  module Mail
32
34
  class MessageIdField < StructuredField
33
35
 
@@ -4,6 +4,8 @@
4
4
  # field name specified elsewhere in this standard.
5
5
  #
6
6
  # optional-field = field-name ":" unstructured CRLF
7
+ require 'mail/fields/unstructured_field'
8
+
7
9
  module Mail
8
10
  class OptionalField < UnstructuredField
9
11
 
@@ -26,6 +26,8 @@
26
26
  #
27
27
  # mail[:references].message_ids #=> ['F6E2D0B4-CC35-4A91-BA4C-C7C712B10C13@test.me.dom']
28
28
  #
29
+ require 'mail/fields/common/common_message_id'
30
+
29
31
  module Mail
30
32
  class ReferencesField < StructuredField
31
33
 
@@ -26,6 +26,8 @@
26
26
  # mail[:reply_to].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:reply_to].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class ReplyToField < StructuredField
31
33
 
@@ -26,6 +26,8 @@
26
26
  # mail[:resent_bcc].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:resent_bcc].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class ResentBccField < StructuredField
31
33
 
@@ -26,6 +26,8 @@
26
26
  # mail[:resent_cc].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:resent_cc].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class ResentCcField < StructuredField
31
33
 
@@ -1,6 +1,8 @@
1
1
  # encoding: utf-8
2
2
  #
3
3
  # resent-date = "Resent-Date:" date-time CRLF
4
+ require 'mail/fields/common/common_date'
5
+
4
6
  module Mail
5
7
  class ResentDateField < StructuredField
6
8
 
@@ -26,6 +26,8 @@
26
26
  # mail[:resent_from].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:resent_from].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class ResentFromField < StructuredField
31
33
 
@@ -1,6 +1,8 @@
1
1
  # encoding: utf-8
2
2
  #
3
3
  # resent-msg-id = "Resent-Message-ID:" msg-id CRLF
4
+ require 'mail/fields/common/common_message_id'
5
+
4
6
  module Mail
5
7
  class ResentMessageIdField < StructuredField
6
8
 
@@ -25,6 +25,8 @@
25
25
  # mail.resent_sender.addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
26
26
  # mail.resent_sender.formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
27
27
  #
28
+ require 'mail/fields/common/common_address'
29
+
28
30
  module Mail
29
31
  class ResentSenderField < StructuredField
30
32
 
@@ -26,6 +26,8 @@
26
26
  # mail[:resent_to].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:resent_to].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class ResentToField < StructuredField
31
33
 
@@ -27,6 +27,8 @@
27
27
  # item-value = 1*angle-addr / addr-spec /
28
28
  # atom / domain / msg-id
29
29
  #
30
+ require 'mail/fields/common/common_address'
31
+
30
32
  module Mail
31
33
  class ReturnPathField < StructuredField
32
34
 
@@ -26,6 +26,8 @@
26
26
  # mail[:sender].addresses #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
27
27
  # mail[:sender].formatted #=> ['Mikel Lindsaar <mikel@test.lindsaar.net>', 'ada@test.lindsaar.net']
28
28
  #
29
+ require 'mail/fields/common/common_address'
30
+
29
31
  module Mail
30
32
  class SenderField < StructuredField
31
33