tdiary 5.4.0 → 5.5.0.beta1

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 (641) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +25 -2
  3. data/Gemfile.lock +211 -61
  4. data/README.md +4 -4
  5. data/doc/HOWTO-make-plugin.md +1 -1
  6. data/doc/HOWTO-testing-tDiary.md +2 -2
  7. data/doc/INSTALL-cgi.md +7 -0
  8. data/doc/INSTALL-paas.md +11 -11
  9. data/doc/INSTALL.md +2 -2
  10. data/doc/README.en.md +1 -1
  11. data/doc/README.md +1 -1
  12. data/lib/aws/pa_api.rb +6 -2
  13. data/lib/tdiary/admin.rb +6 -4
  14. data/lib/tdiary/application.rb +17 -17
  15. data/lib/tdiary/author_only_base.rb +6 -13
  16. data/lib/tdiary/base.rb +52 -16
  17. data/lib/tdiary/cgi_adapter.rb +86 -0
  18. data/lib/tdiary/cgi_compat.rb +189 -0
  19. data/lib/tdiary/configuration.rb +1 -1
  20. data/lib/tdiary/core_ext.rb +4 -53
  21. data/lib/tdiary/diary_container.rb +23 -11
  22. data/lib/tdiary/dispatcher/index_main.rb +16 -16
  23. data/lib/tdiary/dispatcher/update_main.rb +16 -16
  24. data/lib/tdiary/dispatcher.rb +4 -28
  25. data/lib/tdiary/environment.rb +12 -0
  26. data/lib/tdiary/filter.rb +5 -2
  27. data/lib/tdiary/io/pstore.rb +6 -3
  28. data/lib/tdiary/plugin/00default.rb +10 -14
  29. data/lib/tdiary/plugin/05referer.rb +6 -6
  30. data/lib/tdiary/plugin/60sf.rb +1 -1
  31. data/lib/tdiary/plugin.rb +76 -16
  32. data/lib/tdiary/request.rb +11 -353
  33. data/lib/tdiary/tasks/db.rake +17 -4
  34. data/lib/tdiary/tasks/heroku.rake +9 -0
  35. data/lib/tdiary/tasks/release.rake +126 -146
  36. data/lib/tdiary/version.rb +1 -1
  37. data/lib/tdiary/view.rb +3 -3
  38. data/lib/tdiary.rb +3 -1
  39. data/misc/convert2.rb +3 -0
  40. data/misc/migrate.rb +3 -0
  41. data/misc/plugin/a.rb +1 -6
  42. data/misc/plugin/amazon.rb +5 -4
  43. data/misc/plugin/calendar2.rb +1 -1
  44. data/misc/plugin/en/disp_referrer.rb +1 -1
  45. data/misc/plugin/ja/disp_referrer.rb +1 -1
  46. data/misc/plugin/kw.rb +2 -21
  47. data/misc/plugin/makelirs.rb +1 -4
  48. data/tdiary.conf.sample +8 -0
  49. data/theme/base.css +15 -0
  50. data/vendor/bundle/ruby/3.4.0/bin/emot +29 -0
  51. data/vendor/bundle/ruby/3.4.0/bin/hikidoc +29 -0
  52. data/vendor/bundle/ruby/3.4.0/bin/rackup +29 -0
  53. data/vendor/bundle/ruby/3.4.0/bin/rake +29 -0
  54. data/vendor/bundle/ruby/3.4.0/bin/thor +29 -0
  55. data/vendor/bundle/ruby/3.4.0/cache/base64-0.3.0.gem +0 -0
  56. data/vendor/bundle/ruby/3.4.0/cache/cgi-0.5.2.gem +0 -0
  57. data/vendor/bundle/ruby/3.4.0/cache/date-3.5.1.gem +0 -0
  58. data/vendor/bundle/ruby/3.4.0/cache/emot-0.0.4.gem +0 -0
  59. data/vendor/bundle/ruby/3.4.0/cache/fastimage-2.4.1.gem +0 -0
  60. data/vendor/bundle/ruby/3.4.0/cache/hikidoc-0.1.1.gem +0 -0
  61. data/vendor/bundle/ruby/3.4.0/cache/logger-1.7.0.gem +0 -0
  62. data/vendor/bundle/ruby/3.4.0/cache/mail-2.9.1.gem +0 -0
  63. data/vendor/bundle/ruby/3.4.0/cache/mini_mime-1.1.5.gem +0 -0
  64. data/vendor/bundle/ruby/3.4.0/cache/net-imap-0.5.15.gem +0 -0
  65. data/vendor/bundle/ruby/3.4.0/cache/net-pop-0.1.2.gem +0 -0
  66. data/vendor/bundle/ruby/3.4.0/cache/net-protocol-0.2.2.gem +0 -0
  67. data/vendor/bundle/ruby/3.4.0/cache/net-smtp-0.5.1.gem +0 -0
  68. data/vendor/bundle/ruby/3.4.0/cache/pstore-0.2.1.gem +0 -0
  69. data/vendor/bundle/ruby/3.4.0/cache/rack-3.2.6.gem +0 -0
  70. data/vendor/bundle/ruby/3.4.0/cache/rack-session-2.1.2.gem +0 -0
  71. data/vendor/bundle/ruby/3.4.0/cache/rackup-2.3.1.gem +0 -0
  72. data/vendor/bundle/ruby/3.4.0/cache/rake-13.4.2.gem +0 -0
  73. data/vendor/bundle/ruby/3.4.0/cache/thor-1.5.0.gem +0 -0
  74. data/vendor/bundle/ruby/3.4.0/cache/timeout-0.6.1.gem +0 -0
  75. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/cgi/escape.so +0 -0
  76. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/gem.build_complete +0 -0
  77. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/gem_make.out +18 -0
  78. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/date_core.so +0 -0
  79. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/gem.build_complete +0 -0
  80. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/gem_make.out +24 -0
  81. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/mkmf.log +93 -0
  82. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/BSDL +22 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/COPYING +56 -0
  84. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/LEGAL +60 -0
  85. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/README.md +48 -0
  86. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/lib/base64.rb +381 -0
  87. data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/sig/base64.rbs +355 -0
  88. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/BSDL +22 -0
  89. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/COPYING +56 -0
  90. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/README.md +98 -0
  91. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/Makefile +275 -0
  92. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/depend +2 -0
  93. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/escape.c +487 -0
  94. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/extconf.rb +7 -0
  95. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/cookie.rb +212 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/core.rb +1273 -0
  97. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/escape.rb +227 -0
  98. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/escape.so +0 -0
  99. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/html.rb +1040 -0
  100. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/session/pstore.rb +91 -0
  101. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/session.rb +574 -0
  102. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/util.rb +48 -0
  103. data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi.rb +310 -0
  104. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/BSDL +22 -0
  105. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/COPYING +56 -0
  106. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/README.md +102 -0
  107. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/Makefile +273 -0
  108. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_core.c +10065 -0
  109. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_parse.c +3086 -0
  110. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_strftime.c +638 -0
  111. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_strptime.c +704 -0
  112. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_tmx.h +56 -0
  113. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/extconf.rb +13 -0
  114. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/prereq.mk +19 -0
  115. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/zonetab.h +1564 -0
  116. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/zonetab.list +330 -0
  117. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/lib/date.rb +70 -0
  118. data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/lib/date_core.so +0 -0
  119. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/Gemfile +4 -0
  120. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/LICENSE.txt +22 -0
  121. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/README.md +87 -0
  122. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/Rakefile +7 -0
  123. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/bin/emot +5 -0
  124. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/emot.gemspec +26 -0
  125. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/cli.rb +62 -0
  126. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/map.rb +894 -0
  127. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/symbol_ext.rb +11 -0
  128. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/version.rb +3 -0
  129. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot.rb +34 -0
  130. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/spec/cli_spec.rb +56 -0
  131. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/spec/emot_spec.rb +50 -0
  132. data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/spec/spec_helper.rb +2 -0
  133. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/MIT-LICENSE +20 -0
  134. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/README.md +209 -0
  135. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage.rb +471 -0
  136. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/avif.rb +12 -0
  137. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/bmp.rb +17 -0
  138. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/exif.rb +76 -0
  139. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/fiber_stream.rb +58 -0
  140. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/gif.rb +63 -0
  141. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/heic.rb +8 -0
  142. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/ico.rb +9 -0
  143. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/image_base.rb +17 -0
  144. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/iso_bmff.rb +176 -0
  145. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/jpeg.rb +52 -0
  146. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/jxl.rb +13 -0
  147. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/jxlc.rb +75 -0
  148. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/png.rb +26 -0
  149. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/psd.rb +7 -0
  150. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/stream_util.rb +19 -0
  151. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/svg.rb +69 -0
  152. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/tiff.rb +16 -0
  153. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/type_parser.rb +74 -0
  154. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/webp.rb +60 -0
  155. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/version.rb +5 -0
  156. data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage.rb +73 -0
  157. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/COPYING +28 -0
  158. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/Gemfile +4 -0
  159. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/NEWS +36 -0
  160. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/NEWS.ja +36 -0
  161. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README +95 -0
  162. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README.ja +92 -0
  163. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README.ja.md +112 -0
  164. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README.md +114 -0
  165. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/Rakefile +18 -0
  166. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules +320 -0
  167. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules.ja +318 -0
  168. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules.ja.md +385 -0
  169. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules.md +388 -0
  170. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/bin/hikidoc +70 -0
  171. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/hikidoc.gemspec +24 -0
  172. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/lib/hikidoc.rb +912 -0
  173. data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/test/hikidoc_test.rb +514 -0
  174. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/BSDL +22 -0
  175. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/COPYING +56 -0
  176. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/README.md +104 -0
  177. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/errors.rb +9 -0
  178. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/formatter.rb +36 -0
  179. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/log_device.rb +265 -0
  180. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/period.rb +47 -0
  181. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/severity.rb +38 -0
  182. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/version.rb +5 -0
  183. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger.rb +789 -0
  184. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/MIT-LICENSE +20 -0
  185. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/README.md +771 -0
  186. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/attachments_list.rb +109 -0
  187. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/body.rb +305 -0
  188. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/configuration.rb +78 -0
  189. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/constants.rb +79 -0
  190. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/address.rb +258 -0
  191. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/address_list.rb +34 -0
  192. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_disposition_element.rb +20 -0
  193. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_location_element.rb +17 -0
  194. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_transfer_encoding_element.rb +13 -0
  195. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_type_element.rb +25 -0
  196. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/date_time_element.rb +15 -0
  197. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/envelope_from_element.rb +39 -0
  198. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/message_ids_element.rb +31 -0
  199. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/mime_version_element.rb +15 -0
  200. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/phrase_list.rb +19 -0
  201. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/received_element.rb +35 -0
  202. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements.rb +15 -0
  203. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/7bit.rb +27 -0
  204. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/8bit.rb +18 -0
  205. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/base64.rb +38 -0
  206. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/binary.rb +13 -0
  207. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/identity.rb +24 -0
  208. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/quoted_printable.rb +45 -0
  209. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/transfer_encoding.rb +77 -0
  210. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/unix_to_unix.rb +20 -0
  211. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings.rb +314 -0
  212. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/envelope.rb +28 -0
  213. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/field.rb +313 -0
  214. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/field_list.rb +87 -0
  215. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/bcc_field.rb +49 -0
  216. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/cc_field.rb +33 -0
  217. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/comments_field.rb +31 -0
  218. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_address_field.rb +162 -0
  219. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_date_field.rb +56 -0
  220. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_field.rb +77 -0
  221. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_message_id_field.rb +41 -0
  222. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_description_field.rb +12 -0
  223. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_disposition_field.rb +44 -0
  224. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_id_field.rb +35 -0
  225. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_location_field.rb +28 -0
  226. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_transfer_encoding_field.rb +44 -0
  227. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_type_field.rb +171 -0
  228. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/date_field.rb +28 -0
  229. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/from_field.rb +33 -0
  230. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/in_reply_to_field.rb +45 -0
  231. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/keywords_field.rb +30 -0
  232. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/message_id_field.rb +36 -0
  233. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/mime_version_field.rb +42 -0
  234. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/named_structured_field.rb +10 -0
  235. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/named_unstructured_field.rb +10 -0
  236. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/optional_field.rb +15 -0
  237. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/parameter_hash.rb +61 -0
  238. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/received_field.rb +61 -0
  239. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/references_field.rb +42 -0
  240. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/reply_to_field.rb +33 -0
  241. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_bcc_field.rb +33 -0
  242. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_cc_field.rb +33 -0
  243. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_date_field.rb +10 -0
  244. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_from_field.rb +33 -0
  245. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_message_id_field.rb +10 -0
  246. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_sender_field.rb +32 -0
  247. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_to_field.rb +33 -0
  248. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/return_path_field.rb +60 -0
  249. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/sender_field.rb +45 -0
  250. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/structured_field.rb +24 -0
  251. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/subject_field.rb +14 -0
  252. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/to_field.rb +33 -0
  253. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/unstructured_field.rb +189 -0
  254. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields.rb +45 -0
  255. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/header.rb +237 -0
  256. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/indifferent_hash.rb +147 -0
  257. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/mail.rb +267 -0
  258. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/matchers/attachment_matchers.rb +44 -0
  259. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/matchers/has_sent_mail.rb +201 -0
  260. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/message.rb +2159 -0
  261. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte/chars.rb +318 -0
  262. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte/unicode.rb +405 -0
  263. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte/utils.rb +44 -0
  264. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte.rb +82 -0
  265. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/exim.rb +50 -0
  266. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/file_delivery.rb +43 -0
  267. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/logger_delivery.rb +34 -0
  268. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/sendmail.rb +87 -0
  269. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/smtp.rb +200 -0
  270. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/smtp_connection.rb +57 -0
  271. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/test_mailer.rb +44 -0
  272. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/base.rb +64 -0
  273. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/imap.rb +190 -0
  274. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/pop3.rb +143 -0
  275. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/test_retriever.rb +45 -0
  276. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network.rb +16 -0
  277. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parser_tools.rb +15 -0
  278. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/address_lists_parser.rb +33245 -0
  279. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/address_lists_parser.rl +183 -0
  280. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_disposition_parser.rb +904 -0
  281. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_disposition_parser.rl +93 -0
  282. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_location_parser.rb +825 -0
  283. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_location_parser.rl +82 -0
  284. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_transfer_encoding_parser.rb +525 -0
  285. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_transfer_encoding_parser.rl +75 -0
  286. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_type_parser.rb +1051 -0
  287. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_type_parser.rl +94 -0
  288. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/date_time_parser.rb +894 -0
  289. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/date_time_parser.rl +73 -0
  290. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/envelope_from_parser.rb +3678 -0
  291. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/envelope_from_parser.rl +93 -0
  292. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/message_ids_parser.rb +5164 -0
  293. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/message_ids_parser.rl +97 -0
  294. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/mime_version_parser.rb +516 -0
  295. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/mime_version_parser.rl +72 -0
  296. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/phrase_lists_parser.rb +887 -0
  297. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/phrase_lists_parser.rl +94 -0
  298. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/received_parser.rb +8785 -0
  299. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/received_parser.rl +95 -0
  300. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2045_content_transfer_encoding.rl +13 -0
  301. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2045_content_type.rl +25 -0
  302. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2045_mime.rl +16 -0
  303. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2183_content_disposition.rl +15 -0
  304. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc3629_utf8.rl +19 -0
  305. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5234_abnf_core_rules.rl +22 -0
  306. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322.rl +74 -0
  307. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322_address.rl +72 -0
  308. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322_date_time.rl +37 -0
  309. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322_lexical_tokens.rl +60 -0
  310. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers.rb +13 -0
  311. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/part.rb +119 -0
  312. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parts_list.rb +131 -0
  313. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/smtp_envelope.rb +57 -0
  314. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/utilities.rb +576 -0
  315. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/values/unicode_tables.dat +0 -0
  316. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/version.rb +17 -0
  317. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/yaml.rb +30 -0
  318. data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail.rb +65 -0
  319. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/CHANGELOG +65 -0
  320. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md +74 -0
  321. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/Gemfile +9 -0
  322. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/LICENSE.txt +21 -0
  323. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/README.md +114 -0
  324. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/Rakefile +97 -0
  325. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bench/bench.rb +51 -0
  326. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bin/console +15 -0
  327. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bin/db_pull_request +20 -0
  328. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bin/setup +8 -0
  329. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/db/content_type_mime.db +880 -0
  330. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/db/ext_mime.db +1201 -0
  331. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb +4 -0
  332. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/mini_mime.rb +186 -0
  333. data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/mini_mime.gemspec +31 -0
  334. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/BSDL +22 -0
  335. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/COPYING +56 -0
  336. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/Gemfile +25 -0
  337. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/LICENSE.txt +65 -0
  338. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/README.md +77 -0
  339. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/Rakefile +13 -0
  340. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/docs/styles.css +85 -0
  341. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/authenticators.rb +37 -0
  342. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/command_data.rb +507 -0
  343. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_accessors.rb +75 -0
  344. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_inheritance.rb +90 -0
  345. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_type_coercion.rb +74 -0
  346. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_version_defaults.rb +93 -0
  347. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config.rb +500 -0
  348. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/connection_state.rb +48 -0
  349. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_encoding.rb +214 -0
  350. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_lite.rb +226 -0
  351. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/deprecated_client_options.rb +142 -0
  352. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/errors.rb +118 -0
  353. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/esearch_result.rb +219 -0
  354. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/fetch_data.rb +597 -0
  355. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/flags.rb +262 -0
  356. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_data.rb +1113 -0
  357. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser/parser_utils.rb +245 -0
  358. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser.rb +2282 -0
  359. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_reader.rb +92 -0
  360. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/anonymous_authenticator.rb +69 -0
  361. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authentication_exchange.rb +139 -0
  362. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authenticators.rb +122 -0
  363. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/client_adapter.rb +123 -0
  364. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/cram_md5_authenticator.rb +61 -0
  365. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/digest_md5_authenticator.rb +342 -0
  366. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/external_authenticator.rb +83 -0
  367. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/gs2_header.rb +80 -0
  368. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/login_authenticator.rb +56 -0
  369. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/oauthbearer_authenticator.rb +199 -0
  370. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/plain_authenticator.rb +101 -0
  371. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/protocol_adapters.rb +101 -0
  372. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_algorithm.rb +58 -0
  373. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_authenticator.rb +361 -0
  374. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/stringprep.rb +12 -0
  375. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/xoauth2_authenticator.rb +106 -0
  376. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl.rb +182 -0
  377. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl_adapter.rb +20 -0
  378. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/search_result.rb +145 -0
  379. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sequence_set.rb +1952 -0
  380. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/nameprep.rb +70 -0
  381. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep.rb +69 -0
  382. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep_tables.rb +96 -0
  383. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/tables.rb +146 -0
  384. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/trace.rb +85 -0
  385. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep.rb +159 -0
  386. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/uidplus_data.rb +244 -0
  387. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/vanished_data.rb +65 -0
  388. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap.rb +3968 -0
  389. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/net-imap.gemspec +38 -0
  390. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/benchmarks.rake +91 -0
  391. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/rdoc.rake +70 -0
  392. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/rfcs.rake +170 -0
  393. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/saslprep.rake +30 -0
  394. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/string_prep_tables_generator.rb +449 -0
  395. data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/sample/net-imap.rb +167 -0
  396. data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/Gemfile +7 -0
  397. data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/LICENSE.txt +22 -0
  398. data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/README.md +66 -0
  399. data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/Rakefile +17 -0
  400. data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/lib/net/pop.rb +1025 -0
  401. data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/net-pop.gemspec +32 -0
  402. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/Gemfile +7 -0
  403. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/LICENSE.txt +22 -0
  404. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/README.md +29 -0
  405. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/Rakefile +10 -0
  406. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/bin/console +14 -0
  407. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/bin/setup +8 -0
  408. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/lib/net/protocol.rb +544 -0
  409. data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/net-protocol.gemspec +33 -0
  410. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/LICENSE.txt +2 -0
  411. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/NEWS.md +133 -0
  412. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/README.md +97 -0
  413. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_cram_md5.rb +48 -0
  414. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_login.rb +11 -0
  415. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_plain.rb +9 -0
  416. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_xoauth2.rb +17 -0
  417. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/authenticator.rb +57 -0
  418. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp.rb +1164 -0
  419. data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/net-smtp.gemspec +31 -0
  420. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/BSDL +22 -0
  421. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/COPYING +56 -0
  422. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/Gemfile +10 -0
  423. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/README.md +95 -0
  424. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/Rakefile +10 -0
  425. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/bin/console +14 -0
  426. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/bin/setup +8 -0
  427. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/lib/pstore.rb +736 -0
  428. data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/pstore.gemspec +32 -0
  429. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/CHANGELOG.md +1346 -0
  430. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/CONTRIBUTING.md +144 -0
  431. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/MIT-LICENSE +20 -0
  432. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/README.md +384 -0
  433. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/SPEC.rdoc +258 -0
  434. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/auth/abstract/handler.rb +41 -0
  435. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/auth/abstract/request.rb +51 -0
  436. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/auth/basic.rb +58 -0
  437. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/bad_request.rb +8 -0
  438. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/body_proxy.rb +63 -0
  439. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/builder.rb +296 -0
  440. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/cascade.rb +67 -0
  441. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/common_logger.rb +89 -0
  442. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/conditional_get.rb +87 -0
  443. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/config.rb +22 -0
  444. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/constants.rb +68 -0
  445. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/content_length.rb +34 -0
  446. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/content_type.rb +33 -0
  447. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/deflater.rb +158 -0
  448. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/directory.rb +208 -0
  449. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/etag.rb +71 -0
  450. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/events.rb +172 -0
  451. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/files.rb +216 -0
  452. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/head.rb +25 -0
  453. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/headers.rb +238 -0
  454. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/lint.rb +964 -0
  455. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/lock.rb +29 -0
  456. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/media_type.rb +52 -0
  457. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/method_override.rb +56 -0
  458. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mime.rb +694 -0
  459. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mock.rb +3 -0
  460. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mock_request.rb +161 -0
  461. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mock_response.rb +156 -0
  462. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart/generator.rb +99 -0
  463. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart/parser.rb +621 -0
  464. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart/uploaded_file.rb +82 -0
  465. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart.rb +77 -0
  466. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/null_logger.rb +48 -0
  467. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/query_parser.rb +261 -0
  468. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/recursive.rb +66 -0
  469. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/reloader.rb +112 -0
  470. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/request.rb +790 -0
  471. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/response.rb +403 -0
  472. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/rewindable_input.rb +116 -0
  473. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/runtime.rb +35 -0
  474. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/sendfile.rb +197 -0
  475. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/show_exceptions.rb +409 -0
  476. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/show_status.rb +121 -0
  477. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/static.rb +192 -0
  478. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/tempfile_reaper.rb +33 -0
  479. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/urlmap.rb +99 -0
  480. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/utils.rb +714 -0
  481. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/version.rb +17 -0
  482. data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack.rb +64 -0
  483. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/abstract/id.rb +535 -0
  484. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/constants.rb +13 -0
  485. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/cookie.rb +315 -0
  486. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/encryptor.rb +415 -0
  487. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/pool.rb +82 -0
  488. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/version.rb +10 -0
  489. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session.rb +12 -0
  490. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/license.md +72 -0
  491. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/readme.md +47 -0
  492. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/releases.md +31 -0
  493. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/security.md +3 -0
  494. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/bin/rackup +5 -0
  495. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/handler/cgi.rb +61 -0
  496. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/handler/webrick.rb +196 -0
  497. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/handler.rb +113 -0
  498. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/lobster.rb +81 -0
  499. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/server.rb +462 -0
  500. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/stream.rb +199 -0
  501. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/version.rb +8 -0
  502. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup.rb +21 -0
  503. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/license.md +80 -0
  504. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/readme.md +82 -0
  505. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/releases.md +28 -0
  506. data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/security.md +3 -0
  507. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/History.rdoc +2454 -0
  508. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/MIT-LICENSE +21 -0
  509. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/README.rdoc +155 -0
  510. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/command_line_usage.rdoc +171 -0
  511. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/Rakefile1 +38 -0
  512. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/Rakefile2 +35 -0
  513. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/a.c +6 -0
  514. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/b.c +6 -0
  515. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/main.c +11 -0
  516. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/glossary.rdoc +42 -0
  517. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/jamis.rb +592 -0
  518. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/proto_rake.rdoc +127 -0
  519. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rake.1 +156 -0
  520. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rakefile.rdoc +635 -0
  521. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rational.rdoc +151 -0
  522. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/exe/rake +27 -0
  523. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/application.rb +847 -0
  524. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/backtrace.rb +25 -0
  525. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/clean.rb +78 -0
  526. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/cloneable.rb +17 -0
  527. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/cpu_counter.rb +122 -0
  528. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/default_loader.rb +15 -0
  529. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/dsl_definition.rb +196 -0
  530. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/early_time.rb +22 -0
  531. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/ext/core.rb +26 -0
  532. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/ext/string.rb +176 -0
  533. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_creation_task.rb +25 -0
  534. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_list.rb +435 -0
  535. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_task.rb +58 -0
  536. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_utils.rb +137 -0
  537. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_utils_ext.rb +135 -0
  538. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/invocation_chain.rb +57 -0
  539. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/invocation_exception_mixin.rb +17 -0
  540. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/late_time.rb +18 -0
  541. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/linked_list.rb +112 -0
  542. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/loaders/makefile.rb +54 -0
  543. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/multi_task.rb +14 -0
  544. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/name_space.rb +38 -0
  545. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/options.rb +31 -0
  546. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/packagetask.rb +222 -0
  547. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/phony.rb +16 -0
  548. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/private_reader.rb +21 -0
  549. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/promise.rb +100 -0
  550. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/pseudo_status.rb +30 -0
  551. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rake_module.rb +67 -0
  552. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rake_test_loader.rb +27 -0
  553. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  554. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/scope.rb +43 -0
  555. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task.rb +434 -0
  556. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_argument_error.rb +8 -0
  557. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_arguments.rb +113 -0
  558. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_manager.rb +333 -0
  559. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/tasklib.rb +12 -0
  560. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/testtask.rb +192 -0
  561. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/thread_history_display.rb +49 -0
  562. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/thread_pool.rb +157 -0
  563. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/trace_output.rb +23 -0
  564. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/version.rb +10 -0
  565. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/win32.rb +17 -0
  566. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake.rb +69 -0
  567. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/rake.gemspec +102 -0
  568. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/CONTRIBUTING.md +32 -0
  569. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/LICENSE.md +20 -0
  570. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/README.md +44 -0
  571. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/bin/thor +6 -0
  572. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/create_file.rb +105 -0
  573. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/create_link.rb +61 -0
  574. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/directory.rb +108 -0
  575. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/empty_directory.rb +143 -0
  576. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/file_manipulation.rb +407 -0
  577. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/inject_into_file.rb +163 -0
  578. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions.rb +340 -0
  579. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/base.rb +826 -0
  580. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/command.rb +151 -0
  581. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  582. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/error.rb +106 -0
  583. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/group.rb +292 -0
  584. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/invocation.rb +178 -0
  585. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/line_editor/basic.rb +37 -0
  586. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/line_editor/readline.rb +88 -0
  587. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/line_editor.rb +17 -0
  588. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/nested_context.rb +29 -0
  589. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/argument.rb +86 -0
  590. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/arguments.rb +195 -0
  591. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/option.rb +178 -0
  592. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/options.rb +294 -0
  593. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser.rb +4 -0
  594. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/rake_compat.rb +72 -0
  595. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/runner.rb +335 -0
  596. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/basic.rb +392 -0
  597. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/color.rb +117 -0
  598. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/column_printer.rb +29 -0
  599. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/html.rb +84 -0
  600. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/lcs_diff.rb +49 -0
  601. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/table_printer.rb +118 -0
  602. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/terminal.rb +42 -0
  603. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/wrapped_printer.rb +38 -0
  604. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell.rb +81 -0
  605. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/util.rb +285 -0
  606. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/version.rb +3 -0
  607. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor.rb +707 -0
  608. data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/thor.gemspec +33 -0
  609. data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/BSDL +22 -0
  610. data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/COPYING +56 -0
  611. data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/Gemfile +10 -0
  612. data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/README.md +39 -0
  613. data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/lib/timeout.rb +314 -0
  614. data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/timeout.gemspec +33 -0
  615. data/vendor/bundle/ruby/3.4.0/specifications/base64-0.3.0.gemspec +23 -0
  616. data/vendor/bundle/ruby/3.4.0/specifications/cgi-0.5.2.gemspec +25 -0
  617. data/vendor/bundle/ruby/3.4.0/specifications/date-3.5.1.gemspec +25 -0
  618. data/vendor/bundle/ruby/3.4.0/specifications/emot-0.0.4.gemspec +30 -0
  619. data/vendor/bundle/ruby/3.4.0/specifications/fastimage-2.4.1.gemspec +32 -0
  620. data/vendor/bundle/ruby/3.4.0/specifications/hikidoc-0.1.1.gemspec +28 -0
  621. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.7.0.gemspec +22 -0
  622. data/vendor/bundle/ruby/3.4.0/specifications/mail-2.9.1.gemspec +38 -0
  623. data/vendor/bundle/ruby/3.4.0/specifications/mini_mime-1.1.5.gemspec +30 -0
  624. data/vendor/bundle/ruby/3.4.0/specifications/net-imap-0.5.15.gemspec +28 -0
  625. data/vendor/bundle/ruby/3.4.0/specifications/net-pop-0.1.2.gemspec +26 -0
  626. data/vendor/bundle/ruby/3.4.0/specifications/net-protocol-0.2.2.gemspec +26 -0
  627. data/vendor/bundle/ruby/3.4.0/specifications/net-smtp-0.5.1.gemspec +26 -0
  628. data/vendor/bundle/ruby/3.4.0/specifications/pstore-0.2.1.gemspec +22 -0
  629. data/vendor/bundle/ruby/3.4.0/specifications/rack-3.2.6.gemspec +31 -0
  630. data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.2.gemspec +30 -0
  631. data/vendor/bundle/ruby/3.4.0/specifications/rackup-2.3.1.gemspec +26 -0
  632. data/vendor/bundle/ruby/3.4.0/specifications/rake-13.4.2.gemspec +26 -0
  633. data/vendor/bundle/ruby/3.4.0/specifications/thor-1.5.0.gemspec +28 -0
  634. data/vendor/bundle/ruby/3.4.0/specifications/timeout-0.6.1.gemspec +22 -0
  635. metadata +595 -20
  636. data/js/02edit.js +0 -15
  637. data/lib/tdiary/compatible.rb +0 -56
  638. data/misc/lib/fcgi_patch.rb +0 -89
  639. data/misc/paas/heroku/Gemfile.local +0 -12
  640. data/misc/paas/heroku/Gemfile.lock +0 -287
  641. data/public/index.rdf +0 -22
@@ -0,0 +1,1113 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Net
4
+ class IMAP < Protocol
5
+ autoload :ESearchResult, "#{__dir__}/esearch_result"
6
+ autoload :FetchData, "#{__dir__}/fetch_data"
7
+ autoload :UIDFetchData, "#{__dir__}/fetch_data"
8
+ autoload :SearchResult, "#{__dir__}/search_result"
9
+ autoload :UIDPlusData, "#{__dir__}/uidplus_data"
10
+ autoload :AppendUIDData, "#{__dir__}/uidplus_data"
11
+ autoload :CopyUIDData, "#{__dir__}/uidplus_data"
12
+ autoload :VanishedData, "#{__dir__}/vanished_data"
13
+
14
+ # Net::IMAP::ContinuationRequest represents command continuation requests.
15
+ #
16
+ # The command continuation request response is indicated by a "+" token
17
+ # instead of a tag. This form of response indicates that the server is
18
+ # ready to accept the continuation of a command from the client. The
19
+ # remainder of this response is a line of text.
20
+ #
21
+ class ContinuationRequest < Struct.new(:data, :raw_data)
22
+ ##
23
+ # method: data
24
+ # :call-seq: data -> ResponseText
25
+ #
26
+ # Returns a ResponseText object
27
+
28
+ ##
29
+ # method: raw_data
30
+ # :call-seq: raw_data -> string
31
+ #
32
+ # the raw response data
33
+ end
34
+
35
+ # Net::IMAP::UntaggedResponse represents untagged responses.
36
+ #
37
+ # Data transmitted by the server to the client and status responses
38
+ # that do not indicate command completion are prefixed with the token
39
+ # <tt>"*"</tt>, and are called untagged responses.
40
+ #
41
+ class UntaggedResponse < Struct.new(:name, :data, :raw_data)
42
+ ##
43
+ # method: name
44
+ # :call-seq: name -> string
45
+ #
46
+ # The uppercase response name, e.g. "FLAGS", "LIST", "FETCH", etc.
47
+
48
+ ##
49
+ # method: data
50
+ # :call-seq: data -> object or nil
51
+ #
52
+ # The parsed response data, e.g: an array of flag symbols, an array of
53
+ # capabilities strings, a ResponseText object, a MailboxList object, a
54
+ # FetchData object, a Namespaces object, etc. The response #name
55
+ # determines what form the data can take.
56
+
57
+ ##
58
+ # method: raw_data
59
+ # :call-seq: raw_data -> string
60
+ #
61
+ # The raw response data.
62
+ end
63
+
64
+ # Net::IMAP::IgnoredResponse represents intentionally ignored responses.
65
+ #
66
+ # This includes untagged response "NOOP" sent by e.g. Zimbra to avoid
67
+ # some clients to close the connection.
68
+ #
69
+ # It matches no IMAP standard.
70
+ class IgnoredResponse < UntaggedResponse
71
+ end
72
+
73
+ # **Note:** This represents an intentionally _unstable_ API. Where
74
+ # instances of this class are returned, future releases may return a
75
+ # different (incompatible) object <em>without deprecation or warning</em>.
76
+ #
77
+ # Net::IMAP::UnparsedData represents data for unknown response types or
78
+ # unknown extensions to response types without a well-defined extension
79
+ # grammar.
80
+ #
81
+ # See also: UnparsedNumericResponseData, ExtensionData, IgnoredResponse
82
+ class UnparsedData < Struct.new(:unparsed_data)
83
+ ##
84
+ # method: unparsed_data
85
+ # :call-seq: unparsed_data -> string
86
+ #
87
+ # The unparsed data
88
+ end
89
+
90
+ # **Note:** This represents an intentionally _unstable_ API. Where
91
+ # instances of this class are returned, future releases may return a
92
+ # different (incompatible) object <em>without deprecation or warning</em>.
93
+ #
94
+ # Net::IMAP::UnparsedNumericResponseData represents data for unhandled
95
+ # response types with a numeric prefix. See the documentation for #number.
96
+ #
97
+ # See also: UnparsedData, ExtensionData, IgnoredResponse
98
+ class UnparsedNumericResponseData < Struct.new(:number, :unparsed_data)
99
+ ##
100
+ # method: number
101
+ # :call-seq: number -> integer
102
+ #
103
+ # Returns a numeric response data prefix, when available.
104
+ #
105
+ # Many response types are prefixed with a non-negative #number. For
106
+ # message data, #number may represent a sequence number or a UID. For
107
+ # mailbox data, #number may represent a message count.
108
+
109
+ ##
110
+ # method: unparsed_data
111
+ # :call-seq: unparsed_data -> string
112
+ #
113
+ # The unparsed data, not including #number or UntaggedResponse#name.
114
+ end
115
+
116
+ # **Note:** This represents an intentionally _unstable_ API. Where
117
+ # instances of this class are returned, future releases may return a
118
+ # different (incompatible) object <em>without deprecation or warning</em>.
119
+ #
120
+ # Net::IMAP::ExtensionData represents data that is parsable according to the
121
+ # forward-compatible extension syntax in RFC3501, RFC4466, or RFC9051, but
122
+ # isn't directly known or understood by Net::IMAP yet.
123
+ #
124
+ # See also: UnparsedData, UnparsedNumericResponseData, IgnoredResponse
125
+ class ExtensionData < Struct.new(:data)
126
+ ##
127
+ # method: data
128
+ # :call-seq: data -> string
129
+ #
130
+ # The parsed extension data.
131
+ end
132
+
133
+ # Net::IMAP::TaggedResponse represents tagged responses.
134
+ #
135
+ # The server completion result response indicates the success or
136
+ # failure of the operation. It is tagged with the same tag as the
137
+ # client command which began the operation.
138
+ #
139
+ class TaggedResponse < Struct.new(:tag, :name, :data, :raw_data)
140
+ ##
141
+ # method: tag
142
+ # :call-seq: tag -> string
143
+ #
144
+ # Returns the command tag
145
+
146
+ ##
147
+ # method: name
148
+ # :call-seq: name -> string
149
+ #
150
+ # Returns the name, one of "OK", "NO", or "BAD".
151
+
152
+ ##
153
+ # method: data
154
+ # :call-seq: data -> ResponseText
155
+ #
156
+ # Returns a ResponseText object
157
+
158
+ ##
159
+ # method: raw_data
160
+ # :call-seq: raw_data -> string
161
+ #
162
+ # The raw response data.
163
+ end
164
+
165
+ # ResponseText represents texts of responses.
166
+ #
167
+ # The text may be prefixed by a ResponseCode.
168
+ #
169
+ # ResponseText is returned from TaggedResponse#data or
170
+ # UntaggedResponse#data for
171
+ # {"status responses"}[https://www.rfc-editor.org/rfc/rfc3501#section-7.1]:
172
+ # * every TaggedResponse, name[rdoc-ref:TaggedResponse#name] is always
173
+ # "+OK+", "+NO+", or "+BAD+".
174
+ # * any UntaggedResponse when name[rdoc-ref:UntaggedResponse#name] is
175
+ # "+OK+", "+NO+", "+BAD+", "+PREAUTH+", or "+BYE+".
176
+ #
177
+ # Note that these "status responses" are confusingly _not_ the same as the
178
+ # +STATUS+ UntaggedResponse (see IMAP#status and StatusData).
179
+ class ResponseText < Struct.new(:code, :text)
180
+ # Used to avoid an allocation when ResponseText is empty
181
+ EMPTY = new(nil, "").freeze
182
+
183
+ ##
184
+ # method: code
185
+ # :call-seq: code -> ResponseCode or nil
186
+ #
187
+ # Returns a ResponseCode, if the response contains one
188
+
189
+ ##
190
+ # method: text
191
+ # :call-seq: text -> string
192
+ #
193
+ # Returns the response text, not including any response code
194
+ end
195
+
196
+ # ResponseCode represents an \IMAP response code, which can be retrieved
197
+ # from ResponseText#code for
198
+ # {"status responses"}[https://www.rfc-editor.org/rfc/rfc3501#section-7.1]:
199
+ # * every TaggedResponse, name[rdoc-ref:TaggedResponse#name] is always
200
+ # "+OK+", "+NO+", or "+BAD+".
201
+ # * any UntaggedResponse when name[rdoc-ref:UntaggedResponse#name] is
202
+ # "+OK+", "+NO+", "+BAD+", "+PREAUTH+", or "+BYE+".
203
+ #
204
+ # Note that these "status responses" are confusingly _not_ the same as the
205
+ # +STATUS+ UntaggedResponse (see IMAP#status and StatusData).
206
+ #
207
+ # Some response codes come with additional data which will be parsed by
208
+ # Net::IMAP. Others return +nil+ for #data, but are used as a
209
+ # machine-readable annotation for the human-readable ResponseText#text in
210
+ # the same response.
211
+ #
212
+ # Untagged response code #data is pushed directly onto Net::IMAP#responses,
213
+ # keyed by #name, unless it is removed by the command that generated it.
214
+ # Use Net::IMAP#add_response_handler to view tagged response codes for
215
+ # command methods that do not return their TaggedResponse.
216
+ #
217
+ # == Standard response codes
218
+ #
219
+ # \IMAP extensions may define new codes and the data that comes with them.
220
+ # The IANA {IMAP Response
221
+ # Codes}[https://www.iana.org/assignments/imap-response-codes/imap-response-codes.xhtml]
222
+ # registry has links to specifications for all standard response codes.
223
+ #
224
+ # === +IMAP4rev1+ response codes
225
+ # See [IMAP4rev1[https://www.rfc-editor.org/rfc/rfc3501]] {§7.1, "Server
226
+ # Responses - Status
227
+ # Responses"}[https://www.rfc-editor.org/rfc/rfc3501#section-7.1] for full
228
+ # definitions of the basic set of IMAP4rev1 response codes:
229
+ # * +ALERT+, the ResponseText#text contains a special alert that MUST be
230
+ # brought to the user's attention.
231
+ # * +BADCHARSET+, #data will be an array of charset strings, or +nil+.
232
+ # * +CAPABILITY+, #data will be an array of capability strings.
233
+ # * +PARSE+, the ResponseText#text presents an error parsing a message's
234
+ # \[RFC5322] or [MIME-IMB] headers.
235
+ # * +PERMANENTFLAGS+, followed by an array of flags. System flags will be
236
+ # symbols, and keyword flags will be strings. See
237
+ # rdoc-ref:Net::IMAP@System+flags
238
+ # * +READ-ONLY+, the mailbox was selected read-only, or changed to read-only
239
+ # * +READ-WRITE+, the mailbox was selected read-write, or changed to
240
+ # read-write
241
+ # * +TRYCREATE+, when #append or #copy fail because the target mailbox
242
+ # doesn't exist.
243
+ # * +UIDNEXT+, #data is an Integer, the next UID value of the mailbox. See
244
+ # [{IMAP4rev1}[https://www.rfc-editor.org/rfc/rfc3501]],
245
+ # {§2.3.1.1, "Unique Identifier (UID) Message
246
+ # Attribute}[https://www.rfc-editor.org/rfc/rfc3501#section-2.3.1.1].
247
+ # * +UIDVALIDITY+, #data is an Integer, the UID validity value of the
248
+ # mailbox. See [{IMAP4rev1}[https://www.rfc-editor.org/rfc/rfc3501]],
249
+ # {§2.3.1.1, "Unique Identifier (UID) Message
250
+ # Attribute}[https://www.rfc-editor.org/rfc/rfc3501#section-2.3.1.1].
251
+ # * +UNSEEN+, #data is an Integer, the number of messages which do not have
252
+ # the <tt>\Seen</tt> flag set.
253
+ # <em>DEPRECATED by IMAP4rev2.</em>
254
+ #
255
+ # === +BINARY+ extension
256
+ # See {[RFC3516]}[https://www.rfc-editor.org/rfc/rfc3516].
257
+ # * +UNKNOWN-CTE+, with a tagged +NO+ response, when the server does not
258
+ # known how to decode a CTE (content-transfer-encoding). #data is +nil+.
259
+ # See IMAP#fetch.
260
+ #
261
+ # === +UIDPLUS+ extension
262
+ # See {[RFC4315 §3]}[https://www.rfc-editor.org/rfc/rfc4315#section-3].
263
+ # * +APPENDUID+, #data is UIDPlusData. See IMAP#append.
264
+ # * +COPYUID+, #data is UIDPlusData. See IMAP#copy.
265
+ # * +UIDNOTSTICKY+, #data is +nil+. See IMAP#select.
266
+ #
267
+ # === +SEARCHRES+ extension
268
+ # See {[RFC5182]}[https://www.rfc-editor.org/rfc/rfc5182].
269
+ # * +NOTSAVED+, with a tagged +NO+ response, when the search result variable
270
+ # is not saved. #data is +nil+.
271
+ #
272
+ # === +RFC5530+ response codes
273
+ # See {[RFC5530]}[https://www.rfc-editor.org/rfc/rfc5530], "IMAP Response
274
+ # Codes" for the definition of the following response codes, which are all
275
+ # machine-readable annotations for the human-readable ResponseText#text, and
276
+ # have +nil+ #data of their own:
277
+ # * +UNAVAILABLE+
278
+ # * +AUTHENTICATIONFAILED+
279
+ # * +AUTHORIZATIONFAILED+
280
+ # * +EXPIRED+
281
+ # * +PRIVACYREQUIRED+
282
+ # * +CONTACTADMIN+
283
+ # * +NOPERM+
284
+ # * +INUSE+
285
+ # * +EXPUNGEISSUED+
286
+ # * +CORRUPTION+
287
+ # * +SERVERBUG+
288
+ # * +CLIENTBUG+
289
+ # * +CANNOT+
290
+ # * +LIMIT+
291
+ # * +OVERQUOTA+
292
+ # * +ALREADYEXISTS+
293
+ # * +NONEXISTENT+
294
+ #
295
+ # === +QRESYNC+ extension
296
+ # See {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162.html].
297
+ # * +CLOSED+, returned when the currently selected mailbox is closed
298
+ # implicitly by selecting or examining another mailbox. #data is +nil+.
299
+ #
300
+ # === +IMAP4rev2+ response codes
301
+ # See {[RFC9051]}[https://www.rfc-editor.org/rfc/rfc9051] {§7.1, "Server
302
+ # Responses - Status
303
+ # Responses"}[https://www.rfc-editor.org/rfc/rfc9051#section-7.1] for full
304
+ # descriptions of IMAP4rev2 response codes. IMAP4rev2 includes all of the
305
+ # response codes listed above (except "+UNSEEN+") and adds the following:
306
+ # * +HASCHILDREN+, with a tagged +NO+ response, when a mailbox delete failed
307
+ # because the server doesn't allow deletion of mailboxes with children.
308
+ # #data is +nil+.
309
+ #
310
+ # === <tt>QUOTA=RES-*</tt> response codes
311
+ # See {[RFC9208]}[https://www.rfc-editor.org/rfc/rfc9208.html#section-4.3].
312
+ # * +OVERQUOTA+ (also in RFC5530[https://www.rfc-editor.org/rfc/rfc5530]),
313
+ # with a tagged +NO+ response to an +APPEND+/+COPY+/+MOVE+ command when
314
+ # the command would put the target mailbox over any quota, and with an
315
+ # untagged +NO+ when a mailbox exceeds a soft quota (which may be caused
316
+ # be external events). #data is +nil+.
317
+ #
318
+ # === +CONDSTORE+ extension
319
+ # See {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162.html].
320
+ # * +NOMODSEQ+, when selecting a mailbox that does not support
321
+ # mod-sequences. #data is +nil+. See IMAP#select.
322
+ # * +HIGHESTMODSEQ+, #data is an Integer, the highest mod-sequence value of
323
+ # all messages in the mailbox. See IMAP#select.
324
+ # * +MODIFIED+, #data is a SequenceSet, the messages that have been modified
325
+ # since the +UNCHANGEDSINCE+ mod-sequence given to +STORE+ or <tt>UID
326
+ # STORE</tt>.
327
+ #
328
+ # === +OBJECTID+ extension
329
+ # See {[RFC8474]}[https://www.rfc-editor.org/rfc/rfc8474.html].
330
+ # * +MAILBOXID+, #data is a string
331
+ #
332
+ # == Extension compatibility
333
+ #
334
+ # Response codes are backwards compatible: Servers are allowed to send new
335
+ # response codes even if the client has not enabled the extension that
336
+ # defines them. When Net::IMAP does not know how to parse response
337
+ # code text, #data returns the unparsed string.
338
+ #
339
+ class ResponseCode < Struct.new(:name, :data)
340
+ ##
341
+ # method: name
342
+ # :call-seq: name -> string
343
+ #
344
+ # Returns the response code name, such as "ALERT", "PERMANENTFLAGS", or
345
+ # "UIDVALIDITY".
346
+
347
+ ##
348
+ # method: data
349
+ # :call-seq: data -> object or nil
350
+ #
351
+ # Returns the parsed response code data, e.g: an array of capabilities
352
+ # strings, an array of character set strings, a list of permanent flags,
353
+ # an Integer, etc. The response #code determines what form the response
354
+ # code data can take.
355
+ end
356
+
357
+ # MailboxList represents the data of an untagged +LIST+ response, for a
358
+ # _single_ mailbox path. IMAP#list returns an array of MailboxList objects.
359
+ #
360
+ class MailboxList < Struct.new(:attr, :delim, :name)
361
+ ##
362
+ # method: attr
363
+ # :call-seq: attr -> array of Symbols
364
+ #
365
+ # Returns the name attributes. Each name attribute is a symbol capitalized
366
+ # by String#capitalize, such as :Noselect (not :NoSelect). For the
367
+ # semantics of each attribute, see:
368
+ # * Net::IMAP@Basic+Mailbox+Attributes
369
+ # * Net::IMAP@Mailbox+role+Attributes
370
+ # * The IANA {IMAP Mailbox Name Attributes
371
+ # registry}[https://www.iana.org/assignments/imap-mailbox-name-attributes/imap-mailbox-name-attributes.xhtml]
372
+ # has links to specifications for all standard mailbox attributes.
373
+
374
+ ##
375
+ # method: delim
376
+ # :call-seq: delim -> single character string
377
+ #
378
+ # Returns the hierarchy delimiter for the mailbox path.
379
+
380
+ ##
381
+ # method: name
382
+ # :call-seq: name -> string
383
+ #
384
+ # Returns the mailbox name.
385
+ end
386
+
387
+ # MailboxQuota represents the data of an untagged +QUOTA+ response.
388
+ #
389
+ # IMAP#getquota returns an array of MailboxQuota objects.
390
+ #
391
+ # Net::IMAP#getquotaroot returns an array containing both MailboxQuotaRoot
392
+ # and MailboxQuota objects.
393
+ #
394
+ # == Required capability
395
+ #
396
+ # Requires +QUOTA+ [RFC2087[https://www.rfc-editor.org/rfc/rfc2087]]
397
+ # or <tt>QUOTA=RES-STORAGE</tt>
398
+ # [RFC9208[https://www.rfc-editor.org/rfc/rfc9208]] capability.
399
+ class MailboxQuota < Struct.new(:mailbox, :usage, :quota)
400
+ ##
401
+ # method: mailbox
402
+ # :call-seq: mailbox -> string
403
+ #
404
+ # The quota root with the associated quota.
405
+ #
406
+ # NOTE: this was mistakenly named "mailbox". But the quota root's name may
407
+ # differ from the mailbox. A single quota root may cover multiple
408
+ # mailboxes, and a single mailbox may be governed by multiple quota roots.
409
+
410
+ # The quota root with the associated quota.
411
+ alias quota_root mailbox
412
+
413
+ ##
414
+ # method: usage
415
+ # :call-seq: usage -> Integer
416
+ #
417
+ # Current storage usage of the mailbox.
418
+
419
+ ##
420
+ # method: quota
421
+ # :call-seq: quota -> Integer
422
+ #
423
+ # Storage limit imposed on the mailbox.
424
+ #
425
+ end
426
+
427
+ # MailboxQuotaRoot represents the data of an untagged +QUOTAROOT+ response.
428
+ #
429
+ # IMAP#getquotaroot returns an array containing both MailboxQuotaRoot and
430
+ # MailboxQuota objects.
431
+ #
432
+ # == Required capability
433
+ # Requires +QUOTA+ [RFC2087[https://www.rfc-editor.org/rfc/rfc2087]]
434
+ # capability.
435
+ class MailboxQuotaRoot < Struct.new(:mailbox, :quotaroots)
436
+ ##
437
+ # method: mailbox
438
+ # :call-seq: mailbox -> string
439
+ #
440
+ # The mailbox with the associated quota.
441
+
442
+ ##
443
+ # method: mailbox
444
+ # :call-seq: quotaroots -> array of strings
445
+ #
446
+ # Zero or more quotaroots that affect the quota on the specified mailbox.
447
+ end
448
+
449
+ # MailboxACLItem represents the data of an untagged +ACL+ response.
450
+ #
451
+ # IMAP#getacl returns an array of MailboxACLItem objects.
452
+ #
453
+ # == Required capability
454
+ # Requires +ACL+ [RFC4314[https://www.rfc-editor.org/rfc/rfc4314]]
455
+ # capability.
456
+ class MailboxACLItem < Struct.new(:user, :rights, :mailbox)
457
+ ##
458
+ # method: mailbox
459
+ # :call-seq: mailbox -> string
460
+ #
461
+ # The mailbox to which the indicated #user has the specified #rights.
462
+
463
+ ##
464
+ # method: user
465
+ # :call-seq: user -> string
466
+ #
467
+ # Login name that has certain #rights to the #mailbox that was specified
468
+ # with the getacl command.
469
+
470
+ ##
471
+ # method: rights
472
+ # :call-seq: rights -> string
473
+ #
474
+ # The access rights the indicated #user has to the #mailbox.
475
+ end
476
+
477
+ # Namespace represents a _single_ namespace, contained inside a Namespaces
478
+ # object.
479
+ #
480
+ # == Required capability
481
+ # Requires either +NAMESPACE+ [RFC2342[https://www.rfc-editor.org/rfc/rfc2342]]
482
+ # or +IMAP4rev2+ capability.
483
+ class Namespace < Struct.new(:prefix, :delim, :extensions)
484
+ ##
485
+ # method: prefix
486
+ # :call-seq: prefix -> string
487
+ #
488
+ # Returns the namespace prefix string.
489
+
490
+ ##
491
+ # method: delim
492
+ # :call-seq: delim -> single character string or nil
493
+ #
494
+ # Returns a hierarchy delimiter character, if it exists.
495
+
496
+ ##
497
+ # method: extensions
498
+ # :call-seq: extensions -> Hash[String, Array[String]]
499
+ #
500
+ # A hash of parameters mapped to arrays of strings, for extensibility.
501
+ # Extension parameter semantics would be defined by the extension.
502
+ end
503
+
504
+ # Namespaces represents the data of an untagged +NAMESPACE+ response,
505
+ # returned by IMAP#namespace.
506
+ #
507
+ # Contains lists of #personal, #shared, and #other namespaces.
508
+ #
509
+ # == Required capability
510
+ # Requires either +NAMESPACE+ [RFC2342[https://www.rfc-editor.org/rfc/rfc2342]]
511
+ # or +IMAP4rev2+ capability.
512
+ class Namespaces < Struct.new(:personal, :other, :shared)
513
+ ##
514
+ # method: personal
515
+ # :call-seq: personal -> array of Namespace
516
+ #
517
+ # Returns an array of Personal Namespace objects.
518
+
519
+ ##
520
+ # method: other
521
+ # :call-seq: other -> array of Namespace
522
+ #
523
+ # Returns an array of Other Users' Namespace objects.
524
+
525
+ ##
526
+ # method: shared
527
+ # :call-seq: shared -> array of Namespace
528
+ #
529
+ # Returns an array of Shared Namespace objects.
530
+ end
531
+
532
+ # StatusData represents the contents of an untagged +STATUS+ response.
533
+ #
534
+ # IMAP#status returns the contents of #attr.
535
+ class StatusData < Struct.new(:mailbox, :attr)
536
+ ##
537
+ # method: mailbox
538
+ # :call-seq: mailbox -> string
539
+ #
540
+ # The mailbox name.
541
+
542
+ ##
543
+ # method: attr
544
+ # :call-seq: attr -> Hash[String, Integer]
545
+ #
546
+ # A hash. Each key is one of "MESSAGES", "RECENT", "UIDNEXT",
547
+ # "UIDVALIDITY", "UNSEEN". Each value is a number.
548
+ end
549
+
550
+ # Net::IMAP::Envelope represents envelope structures of messages.
551
+ #
552
+ # [Note]
553
+ # When the #sender and #reply_to fields are absent or empty, they will
554
+ # return the same value as #from. Also, fields may return values that are
555
+ # invalid for well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
556
+ # messages when the message is malformed or a draft message.
557
+ #
558
+ # See [{IMAP4rev1 §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]]
559
+ # and [{IMAP4rev2 §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2]]
560
+ # for full description of the envelope fields, and
561
+ # Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
562
+ #
563
+ # Returned by FetchData#envelope
564
+ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
565
+ :to, :cc, :bcc, :in_reply_to, :message_id)
566
+ ##
567
+ # method: date
568
+ # call-seq: date -> string
569
+ #
570
+ # Returns a string that represents the +Date+ header.
571
+ #
572
+ # [Note]
573
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
574
+ # message, the #date field must not be +nil+. However it can be +nil+
575
+ # for a malformed or draft message.
576
+
577
+ ##
578
+ # method: subject
579
+ # call-seq: subject -> string or nil
580
+ #
581
+ # Returns a string that represents the +Subject+ header, if it is present.
582
+ #
583
+ # [Note]
584
+ # Servers should return +nil+ when the header is absent and an empty
585
+ # string when it is present but empty. Some servers may return a +nil+
586
+ # envelope member in the "present but empty" case. Clients should treat
587
+ # +nil+ and empty string as identical.
588
+
589
+ ##
590
+ # method: from
591
+ # call-seq: from -> array of Net::IMAP::Address or nil
592
+ #
593
+ # Returns an array of Address that represents the +From+ header.
594
+ #
595
+ # If the +From+ header is absent, or is present but empty, the server
596
+ # returns +nil+ for this envelope field.
597
+ #
598
+ # [Note]
599
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
600
+ # message, the #from field must not be +nil+. However it can be +nil+
601
+ # for a malformed or draft message.
602
+
603
+ ##
604
+ # method: sender
605
+ # call-seq: sender -> array of Net::IMAP::Address or nil
606
+ #
607
+ # Returns an array of Address that represents the +Sender+ header.
608
+ #
609
+ # [Note]
610
+ # If the <tt>Sender</tt> header is absent, or is present but empty, the
611
+ # server sets this field to be the same value as #from. Therefore, in a
612
+ # well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] message,
613
+ # the #sender envelope field must not be +nil+. However it can be
614
+ # +nil+ for a malformed or draft message.
615
+
616
+ ##
617
+ # method: reply_to
618
+ # call-seq: reply_to -> array of Net::IMAP::Address or nil
619
+ #
620
+ # Returns an array of Address that represents the <tt>Reply-To</tt>
621
+ # header.
622
+ #
623
+ # [Note]
624
+ # If the <tt>Reply-To</tt> header is absent, or is present but empty,
625
+ # the server sets this field to be the same value as #from. Therefore,
626
+ # in a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
627
+ # message, the #reply_to envelope field must not be +nil+. However it
628
+ # can be +nil+ for a malformed or draft message.
629
+
630
+ ##
631
+ # method: to
632
+ # call-seq: to -> array of Net::IMAP::Address
633
+ #
634
+ # Returns an array of Address that represents the +To+ header.
635
+
636
+ ##
637
+ # method: cc
638
+ # call-seq: cc -> array of Net::IMAP::Address
639
+ #
640
+ # Returns an array of Address that represents the +Cc+ header.
641
+
642
+ ##
643
+ # method: bcc
644
+ # call-seq: bcc -> array of Net::IMAP::Address
645
+ #
646
+ # Returns an array of Address that represents the +Bcc+ header.
647
+
648
+ ##
649
+ # method: in_reply_to
650
+ # call-seq: in_reply_to -> string
651
+ #
652
+ # Returns a string that represents the <tt>In-Reply-To</tt> header.
653
+ #
654
+ # [Note]
655
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
656
+ # message, the #in_reply_to field, if present, must not be empty. But
657
+ # it can still return an empty string for malformed messages.
658
+ #
659
+ # Servers should return +nil+ when the header is absent and an empty
660
+ # string when it is present but empty. Some servers may return a +nil+
661
+ # envelope member in the "present but empty" case. Clients should treat
662
+ # +nil+ and empty string as identical.
663
+
664
+ ##
665
+ # method: message_id
666
+ # call-seq: message_id -> string
667
+ #
668
+ # Returns a string that represents the <tt>Message-ID</tt>.
669
+ #
670
+ # [Note]
671
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
672
+ # message, the #message_id field, if present, must not be empty. But it
673
+ # can still return an empty string for malformed messages.
674
+ #
675
+ # Servers should return +nil+ when the header is absent and an empty
676
+ # string when it is present but empty. Some servers may return a +nil+
677
+ # envelope member in the "present but empty" case. Clients should treat
678
+ # +nil+ and empty string as identical.
679
+ end
680
+
681
+ # Net::IMAP::Address represents an electronic mail address, which has been
682
+ # parsed into its component parts by the server. Address objects are
683
+ # returned within Envelope fields.
684
+ #
685
+ # == Group syntax
686
+ #
687
+ # When the #host field is +nil+, this is a special form of address structure
688
+ # that indicates the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] group
689
+ # syntax. If the #mailbox name field is also +nil+, this is an end-of-group
690
+ # marker (semicolon in RFC-822 syntax). If the #mailbox name field is
691
+ # non-+NIL+, this is the start of a group marker, and the mailbox #name
692
+ # field holds the group name phrase.
693
+ class Address < Struct.new(:name, :route, :mailbox, :host)
694
+ ##
695
+ # method: name
696
+ # :call-seq: name -> string or nil
697
+ #
698
+ # Returns the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] address
699
+ # +display-name+ (or the mailbox +phrase+ in the RFC-822 grammar).
700
+
701
+ ##
702
+ # method: route
703
+ # :call-seq: route -> string or nil
704
+ #
705
+ # Returns the route from RFC-822 route-addr.
706
+ #
707
+ # Note:: Generating this obsolete route addressing syntax is not allowed
708
+ # by [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]. However,
709
+ # addresses with this syntax must still be accepted and parsed.
710
+
711
+ ##
712
+ # method: mailbox
713
+ # :call-seq: mailbox -> string or nil
714
+ #
715
+ # Returns the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] address
716
+ # +local-part+, if #host is not +nil+.
717
+ #
718
+ # When #host is +nil+, this returns
719
+ # an [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] group name and a +nil+
720
+ # mailbox indicates the end of a group.
721
+
722
+ ##
723
+ # method: host
724
+ # :call-seq: host -> string or nil
725
+ #
726
+ # Returns the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] addr-spec
727
+ # +domain+ name.
728
+ #
729
+ # +nil+ indicates [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] group
730
+ # syntax.
731
+ end
732
+
733
+ # Net::IMAP::ContentDisposition represents Content-Disposition fields.
734
+ #
735
+ class ContentDisposition < Struct.new(:dsp_type, :param)
736
+ ##
737
+ # method: dsp_type
738
+ # :call-seq: dsp_type -> string
739
+ #
740
+ # Returns the content disposition type, as defined by
741
+ # [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]].
742
+
743
+ ##
744
+ # method: param
745
+ # :call-seq: param -> hash
746
+ #
747
+ # Returns a hash representing parameters of the Content-Disposition
748
+ # field, as defined by [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]].
749
+ end
750
+
751
+ # Net::IMAP::ThreadMember represents a thread-node returned
752
+ # by Net::IMAP#thread.
753
+ #
754
+ class ThreadMember < Struct.new(:seqno, :children)
755
+ ##
756
+ # method: seqno
757
+ # :call-seq: seqno -> Integer
758
+ #
759
+ # The message sequence number.
760
+
761
+ ##
762
+ # method: children
763
+ # :call-seq: children -> array of ThreadMember
764
+ #
765
+ # An array of Net::IMAP::ThreadMember objects for mail items that are
766
+ # children of this in the thread.
767
+
768
+ # Returns a SequenceSet containing #seqno and all #children's seqno,
769
+ # recursively.
770
+ def to_sequence_set
771
+ SequenceSet.new all_seqnos
772
+ end
773
+
774
+ protected
775
+
776
+ def all_seqnos(node = self)
777
+ [node.seqno].concat node.children.flat_map { _1.all_seqnos }
778
+ end
779
+
780
+ end
781
+
782
+ # Net::IMAP::BodyStructure is included by all of the structs that can be
783
+ # returned from a <tt>"BODYSTRUCTURE"</tt> or <tt>"BODY"</tt>
784
+ # FetchData#attr value. Although these classes don't share a base class,
785
+ # this module can be used to pattern match all of them.
786
+ #
787
+ # See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]
788
+ # and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2-4.9]
789
+ # for full description of all +BODYSTRUCTURE+ fields, and also
790
+ # Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
791
+ #
792
+ # == Classes that include BodyStructure
793
+ # BodyTypeBasic:: Represents any message parts that are not handled by
794
+ # BodyTypeText, BodyTypeMessage, or BodyTypeMultipart.
795
+ # BodyTypeText:: Used by <tt>text/*</tt> parts. Contains all of the
796
+ # BodyTypeBasic fields.
797
+ # BodyTypeMessage:: Used by <tt>message/rfc822</tt> and
798
+ # <tt>message/global</tt> parts. Contains all of the
799
+ # BodyTypeBasic fields. Other <tt>message/*</tt> types
800
+ # should use BodyTypeBasic.
801
+ # BodyTypeMultipart:: for <tt>multipart/*</tt> parts
802
+ #
803
+ module BodyStructure
804
+ end
805
+
806
+ # Net::IMAP::BodyTypeBasic represents basic body structures of messages and
807
+ # message parts, unless they have a <tt>Content-Type</tt> that is handled by
808
+ # BodyTypeText, BodyTypeMessage, or BodyTypeMultipart.
809
+ #
810
+ # See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]
811
+ # and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2-4.9]
812
+ # for full description of all +BODYSTRUCTURE+ fields, and also
813
+ # Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
814
+ #
815
+ class BodyTypeBasic < Struct.new(:media_type, :subtype,
816
+ :param, :content_id,
817
+ :description, :encoding, :size,
818
+ :md5, :disposition, :language,
819
+ :location,
820
+ :extension)
821
+ include BodyStructure
822
+
823
+ ##
824
+ # method: media_type
825
+ # :call-seq: media_type -> string
826
+ #
827
+ # The top-level media type as defined in
828
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
829
+
830
+ ##
831
+ # method: subtype
832
+ # :call-seq: subtype -> string
833
+ #
834
+ # The media subtype name as defined in
835
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
836
+
837
+ ##
838
+ # method: param
839
+ # :call-seq: param -> string
840
+ #
841
+ # Returns a hash that represents parameters as defined in
842
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
843
+
844
+ ##
845
+ # method: content_id
846
+ # :call-seq: content_id -> string
847
+ #
848
+ # Returns a string giving the content id as defined
849
+ # in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]
850
+ # {§7}[https://www.rfc-editor.org/rfc/rfc2045#section-7].
851
+
852
+ ##
853
+ # method: description
854
+ # :call-seq: description -> string
855
+ #
856
+ # Returns a string giving the content description as defined
857
+ # in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]
858
+ # {§8}[https://www.rfc-editor.org/rfc/rfc2045#section-8].
859
+
860
+ ##
861
+ # method: encoding
862
+ # :call-seq: encoding -> string
863
+ #
864
+ # Returns a string giving the content transfer encoding as defined
865
+ # in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]
866
+ # {§6}[https://www.rfc-editor.org/rfc/rfc2045#section-6].
867
+
868
+ ##
869
+ # method: size
870
+ # :call-seq: size -> integer
871
+ #
872
+ # Returns a number giving the size of the body in octets.
873
+
874
+ ##
875
+ # method: md5
876
+ # :call-seq: md5 -> string
877
+ #
878
+ # Returns a string giving the body MD5 value as defined in
879
+ # [MD5[https://www.rfc-editor.org/rfc/rfc1864]].
880
+
881
+ ##
882
+ # method: disposition
883
+ # :call-seq: disposition -> ContentDisposition
884
+ #
885
+ # Returns a ContentDisposition object giving the content
886
+ # disposition, as defined by
887
+ # [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]].
888
+
889
+ ##
890
+ # method: language
891
+ # :call-seq: language -> string
892
+ #
893
+ # Returns a string or an array of strings giving the body
894
+ # language value as defined in
895
+ # [LANGUAGE-TAGS[https://www.rfc-editor.org/info/rfc3282]].
896
+
897
+ #--
898
+ ##
899
+ # method: location
900
+ # :call-seq: location -> string
901
+ #
902
+ # A string list giving the body content URI as defined in
903
+ # [LOCATION[https://www.rfc-editor.org/info/rfc2557]].
904
+ #++
905
+
906
+ ##
907
+ # method: extension
908
+ # :call-seq: extension -> string
909
+ #
910
+ # Returns extension data. The +BODYSTRUCTURE+ fetch attribute
911
+ # contains extension data, but +BODY+ does not.
912
+
913
+ ##
914
+ # :call-seq: multipart? -> false
915
+ #
916
+ # BodyTypeBasic is not used for multipart MIME parts.
917
+ def multipart?
918
+ return false
919
+ end
920
+
921
+ # :call-seq: media_subtype -> subtype
922
+ #
923
+ # >>>
924
+ # [Obsolete]
925
+ # Use +subtype+ instead. Calling this will generate a warning message
926
+ # to +stderr+, then return the value of +subtype+.
927
+ #--
928
+ # TODO: why not just keep this as an alias? Would "media_subtype" be used
929
+ # for something else?
930
+ #++
931
+ def media_subtype
932
+ warn("media_subtype is obsolete, use subtype instead.\n",
933
+ uplevel: 1, category: :deprecated)
934
+ return subtype
935
+ end
936
+ end
937
+
938
+ # Net::IMAP::BodyTypeText represents the body structures of messages and
939
+ # message parts, when <tt>Content-Type</tt> is <tt>text/*</tt>.
940
+ #
941
+ # BodyTypeText contains all of the fields of BodyTypeBasic. See
942
+ # BodyTypeBasic for documentation of the following:
943
+ # * {media_type}[rdoc-ref:BodyTypeBasic#media_type]
944
+ # * subtype[rdoc-ref:BodyTypeBasic#subtype]
945
+ # * param[rdoc-ref:BodyTypeBasic#param]
946
+ # * {content_id}[rdoc-ref:BodyTypeBasic#content_id]
947
+ # * description[rdoc-ref:BodyTypeBasic#description]
948
+ # * encoding[rdoc-ref:BodyTypeBasic#encoding]
949
+ # * size[rdoc-ref:BodyTypeBasic#size]
950
+ #
951
+ class BodyTypeText < Struct.new(:media_type, :subtype,
952
+ :param, :content_id,
953
+ :description, :encoding, :size,
954
+ :lines,
955
+ :md5, :disposition, :language,
956
+ :location,
957
+ :extension)
958
+ include BodyStructure
959
+
960
+ ##
961
+ # method: lines
962
+ # :call-seq: lines -> Integer
963
+ #
964
+ # Returns the size of the body in text lines.
965
+
966
+ ##
967
+ # :call-seq: multipart? -> false
968
+ #
969
+ # BodyTypeText is not used for multipart MIME parts.
970
+ def multipart?
971
+ return false
972
+ end
973
+
974
+ # Obsolete: use +subtype+ instead. Calling this will
975
+ # generate a warning message to +stderr+, then return
976
+ # the value of +subtype+.
977
+ def media_subtype
978
+ warn("media_subtype is obsolete, use subtype instead.\n",
979
+ uplevel: 1, category: :deprecated)
980
+ return subtype
981
+ end
982
+ end
983
+
984
+ # Net::IMAP::BodyTypeMessage represents the body structures of messages and
985
+ # message parts, when <tt>Content-Type</tt> is <tt>message/rfc822</tt> or
986
+ # <tt>message/global</tt>.
987
+ #
988
+ # BodyTypeMessage contains all of the fields of BodyTypeBasic. See
989
+ # BodyTypeBasic for documentation of the following fields:
990
+ # * {media_type}[rdoc-ref:BodyTypeBasic#media_type]
991
+ # * subtype[rdoc-ref:BodyTypeBasic#subtype]
992
+ # * param[rdoc-ref:BodyTypeBasic#param]
993
+ # * {content_id}[rdoc-ref:BodyTypeBasic#content_id]
994
+ # * description[rdoc-ref:BodyTypeBasic#description]
995
+ # * encoding[rdoc-ref:BodyTypeBasic#encoding]
996
+ # * size[rdoc-ref:BodyTypeBasic#size]
997
+ class BodyTypeMessage < Struct.new(:media_type, :subtype,
998
+ :param, :content_id,
999
+ :description, :encoding, :size,
1000
+ :envelope, :body, :lines,
1001
+ :md5, :disposition, :language,
1002
+ :location,
1003
+ :extension)
1004
+ include BodyStructure
1005
+
1006
+ ##
1007
+ # method: envelope
1008
+ # :call-seq: envelope -> Envelope
1009
+ #
1010
+ # Returns a Net::IMAP::Envelope giving the envelope structure.
1011
+
1012
+ ##
1013
+ # method: body
1014
+ # :call-seq: body -> BodyStructure
1015
+ #
1016
+ # Returns a Net::IMAP::BodyStructure for the message's body structure.
1017
+
1018
+ ##
1019
+ # :call-seq: multipart? -> false
1020
+ #
1021
+ # BodyTypeMessage is not used for multipart MIME parts.
1022
+ def multipart?
1023
+ return false
1024
+ end
1025
+
1026
+ # Obsolete: use +subtype+ instead. Calling this will
1027
+ # generate a warning message to +stderr+, then return
1028
+ # the value of +subtype+.
1029
+ def media_subtype
1030
+ warn("media_subtype is obsolete, use subtype instead.\n", uplevel: 1)
1031
+ return subtype
1032
+ end
1033
+ end
1034
+
1035
+ # Net::IMAP::BodyTypeMultipart represents body structures of messages and
1036
+ # message parts, when <tt>Content-Type</tt> is <tt>multipart/*</tt>.
1037
+ class BodyTypeMultipart < Struct.new(:media_type, :subtype,
1038
+ :parts,
1039
+ :param, :disposition, :language,
1040
+ :location,
1041
+ :extension)
1042
+ include BodyStructure
1043
+
1044
+ ##
1045
+ # method: media_type
1046
+ # call-seq: media_type -> "multipart"
1047
+ #
1048
+ # BodyTypeMultipart is only used with <tt>multipart/*</tt> media types.
1049
+
1050
+ ##
1051
+ # method: subtype
1052
+ # call-seq: subtype -> string
1053
+ #
1054
+ # Returns the content subtype name
1055
+ # as defined in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
1056
+
1057
+ ##
1058
+ # method: parts
1059
+ # call-seq: parts -> array of BodyStructure objects
1060
+ #
1061
+ # Returns an array with a BodyStructure object for each part contained in
1062
+ # this part.
1063
+
1064
+ ##
1065
+ # method: param
1066
+ # call-seq: param -> hash
1067
+ #
1068
+ # Returns a hash that represents parameters
1069
+ # as defined in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
1070
+
1071
+ ##
1072
+ # method: disposition
1073
+ # call-seq: disposition -> ContentDisposition
1074
+ #
1075
+ # Returns a Net::IMAP::ContentDisposition object giving the content
1076
+ # disposition.
1077
+
1078
+ ##
1079
+ # method: language
1080
+ # :call-seq: language -> string
1081
+ #
1082
+ # Returns a string or an array of strings giving the body
1083
+ # language value as defined in
1084
+ # [LANGUAGE-TAGS[https://www.rfc-editor.org/info/rfc3282]].
1085
+
1086
+ ##
1087
+ # method: extension
1088
+ # call-seq: extension -> array
1089
+ #
1090
+ # Returns extension data as an array of numbers strings, and nested
1091
+ # arrays (of numbers, strings, etc).
1092
+
1093
+ ##
1094
+ # :call-seq: multipart? -> true
1095
+ #
1096
+ # BodyTypeMultipart is used for multipart MIME parts.
1097
+ def multipart?
1098
+ return true
1099
+ end
1100
+
1101
+ ##
1102
+ # Obsolete: use +subtype+ instead. Calling this will
1103
+ # generate a warning message to +stderr+, then return
1104
+ # the value of +subtype+.
1105
+ def media_subtype
1106
+ warn("media_subtype is obsolete, use subtype instead.\n",
1107
+ uplevel: 1, category: :deprecated)
1108
+ return subtype
1109
+ end
1110
+ end
1111
+
1112
+ end
1113
+ end