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.
- checksums.yaml +4 -4
- data/Gemfile +25 -2
- data/Gemfile.lock +211 -61
- data/README.md +4 -4
- data/doc/HOWTO-make-plugin.md +1 -1
- data/doc/HOWTO-testing-tDiary.md +2 -2
- data/doc/INSTALL-cgi.md +7 -0
- data/doc/INSTALL-paas.md +11 -11
- data/doc/INSTALL.md +2 -2
- data/doc/README.en.md +1 -1
- data/doc/README.md +1 -1
- data/lib/aws/pa_api.rb +6 -2
- data/lib/tdiary/admin.rb +6 -4
- data/lib/tdiary/application.rb +17 -17
- data/lib/tdiary/author_only_base.rb +6 -13
- data/lib/tdiary/base.rb +52 -16
- data/lib/tdiary/cgi_adapter.rb +86 -0
- data/lib/tdiary/cgi_compat.rb +189 -0
- data/lib/tdiary/configuration.rb +1 -1
- data/lib/tdiary/core_ext.rb +4 -53
- data/lib/tdiary/diary_container.rb +23 -11
- data/lib/tdiary/dispatcher/index_main.rb +16 -16
- data/lib/tdiary/dispatcher/update_main.rb +16 -16
- data/lib/tdiary/dispatcher.rb +4 -28
- data/lib/tdiary/environment.rb +12 -0
- data/lib/tdiary/filter.rb +5 -2
- data/lib/tdiary/io/pstore.rb +6 -3
- data/lib/tdiary/plugin/00default.rb +10 -14
- data/lib/tdiary/plugin/05referer.rb +6 -6
- data/lib/tdiary/plugin/60sf.rb +1 -1
- data/lib/tdiary/plugin.rb +76 -16
- data/lib/tdiary/request.rb +11 -353
- data/lib/tdiary/tasks/db.rake +17 -4
- data/lib/tdiary/tasks/heroku.rake +9 -0
- data/lib/tdiary/tasks/release.rake +126 -146
- data/lib/tdiary/version.rb +1 -1
- data/lib/tdiary/view.rb +3 -3
- data/lib/tdiary.rb +3 -1
- data/misc/convert2.rb +3 -0
- data/misc/migrate.rb +3 -0
- data/misc/plugin/a.rb +1 -6
- data/misc/plugin/amazon.rb +5 -4
- data/misc/plugin/calendar2.rb +1 -1
- data/misc/plugin/en/disp_referrer.rb +1 -1
- data/misc/plugin/ja/disp_referrer.rb +1 -1
- data/misc/plugin/kw.rb +2 -21
- data/misc/plugin/makelirs.rb +1 -4
- data/tdiary.conf.sample +8 -0
- data/theme/base.css +15 -0
- data/vendor/bundle/ruby/3.4.0/bin/emot +29 -0
- data/vendor/bundle/ruby/3.4.0/bin/hikidoc +29 -0
- data/vendor/bundle/ruby/3.4.0/bin/rackup +29 -0
- data/vendor/bundle/ruby/3.4.0/bin/rake +29 -0
- data/vendor/bundle/ruby/3.4.0/bin/thor +29 -0
- data/vendor/bundle/ruby/3.4.0/cache/base64-0.3.0.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/cgi-0.5.2.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/date-3.5.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/emot-0.0.4.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/fastimage-2.4.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/hikidoc-0.1.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/logger-1.7.0.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/mail-2.9.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/mini_mime-1.1.5.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/net-imap-0.5.15.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/net-pop-0.1.2.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/net-protocol-0.2.2.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/net-smtp-0.5.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/pstore-0.2.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/rack-3.2.6.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/rack-session-2.1.2.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/rackup-2.3.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/rake-13.4.2.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/thor-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/cache/timeout-0.6.1.gem +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/cgi/escape.so +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/gem.build_complete +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/gem_make.out +18 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/date_core.so +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/gem.build_complete +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/gem_make.out +24 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/mkmf.log +93 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/LEGAL +60 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/README.md +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/lib/base64.rb +381 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.3.0/sig/base64.rbs +355 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/README.md +98 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/Makefile +275 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/depend +2 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/escape.c +487 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/extconf.rb +7 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/cookie.rb +212 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/core.rb +1273 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/escape.rb +227 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/escape.so +0 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/html.rb +1040 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/session/pstore.rb +91 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/session.rb +574 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/util.rb +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi.rb +310 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/README.md +102 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/Makefile +273 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_core.c +10065 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_parse.c +3086 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_strftime.c +638 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_strptime.c +704 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/date_tmx.h +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/extconf.rb +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/prereq.mk +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/zonetab.h +1564 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/zonetab.list +330 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/lib/date.rb +70 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/lib/date_core.so +0 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/Gemfile +4 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/README.md +87 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/Rakefile +7 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/bin/emot +5 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/emot.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/cli.rb +62 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/map.rb +894 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/symbol_ext.rb +11 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot/version.rb +3 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/lib/emot.rb +34 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/spec/cli_spec.rb +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/spec/emot_spec.rb +50 -0
- data/vendor/bundle/ruby/3.4.0/gems/emot-0.0.4/spec/spec_helper.rb +2 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/README.md +209 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage.rb +471 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/avif.rb +12 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/bmp.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/exif.rb +76 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/fiber_stream.rb +58 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/gif.rb +63 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/heic.rb +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/ico.rb +9 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/image_base.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/iso_bmff.rb +176 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/jpeg.rb +52 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/jxl.rb +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/jxlc.rb +75 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/png.rb +26 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/psd.rb +7 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/stream_util.rb +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/svg.rb +69 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/tiff.rb +16 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/type_parser.rb +74 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/fastimage_parsing/webp.rb +60 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage/version.rb +5 -0
- data/vendor/bundle/ruby/3.4.0/gems/fastimage-2.4.1/lib/fastimage.rb +73 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/COPYING +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/Gemfile +4 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/NEWS +36 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/NEWS.ja +36 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README +95 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README.ja +92 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README.ja.md +112 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/README.md +114 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/Rakefile +18 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules +320 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules.ja +318 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules.ja.md +385 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/TextFormattingRules.md +388 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/bin/hikidoc +70 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/hikidoc.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/lib/hikidoc.rb +912 -0
- data/vendor/bundle/ruby/3.4.0/gems/hikidoc-0.1.1/test/hikidoc_test.rb +514 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/README.md +104 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/errors.rb +9 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/formatter.rb +36 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/log_device.rb +265 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/period.rb +47 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/severity.rb +38 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/version.rb +5 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger.rb +789 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/README.md +771 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/attachments_list.rb +109 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/body.rb +305 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/configuration.rb +78 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/constants.rb +79 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/address.rb +258 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/address_list.rb +34 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_disposition_element.rb +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_location_element.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_transfer_encoding_element.rb +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/content_type_element.rb +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/date_time_element.rb +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/envelope_from_element.rb +39 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/message_ids_element.rb +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/mime_version_element.rb +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/phrase_list.rb +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements/received_element.rb +35 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/elements.rb +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/7bit.rb +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/8bit.rb +18 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/base64.rb +38 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/binary.rb +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/identity.rb +24 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/quoted_printable.rb +45 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/transfer_encoding.rb +77 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings/unix_to_unix.rb +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/encodings.rb +314 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/envelope.rb +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/field.rb +313 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/field_list.rb +87 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/bcc_field.rb +49 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/cc_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/comments_field.rb +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_address_field.rb +162 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_date_field.rb +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_field.rb +77 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/common_message_id_field.rb +41 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_description_field.rb +12 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_disposition_field.rb +44 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_id_field.rb +35 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_location_field.rb +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_transfer_encoding_field.rb +44 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/content_type_field.rb +171 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/date_field.rb +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/from_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/in_reply_to_field.rb +45 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/keywords_field.rb +30 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/message_id_field.rb +36 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/mime_version_field.rb +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/named_structured_field.rb +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/named_unstructured_field.rb +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/optional_field.rb +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/parameter_hash.rb +61 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/received_field.rb +61 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/references_field.rb +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/reply_to_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_bcc_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_cc_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_date_field.rb +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_from_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_message_id_field.rb +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_sender_field.rb +32 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/resent_to_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/return_path_field.rb +60 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/sender_field.rb +45 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/structured_field.rb +24 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/subject_field.rb +14 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/to_field.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields/unstructured_field.rb +189 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/fields.rb +45 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/header.rb +237 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/indifferent_hash.rb +147 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/mail.rb +267 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/matchers/attachment_matchers.rb +44 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/matchers/has_sent_mail.rb +201 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/message.rb +2159 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte/chars.rb +318 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte/unicode.rb +405 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte/utils.rb +44 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/multibyte.rb +82 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/exim.rb +50 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/file_delivery.rb +43 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/logger_delivery.rb +34 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/sendmail.rb +87 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/smtp.rb +200 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/smtp_connection.rb +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/delivery_methods/test_mailer.rb +44 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/base.rb +64 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/imap.rb +190 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/pop3.rb +143 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network/retriever_methods/test_retriever.rb +45 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/network.rb +16 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parser_tools.rb +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/address_lists_parser.rb +33245 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/address_lists_parser.rl +183 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_disposition_parser.rb +904 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_disposition_parser.rl +93 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_location_parser.rb +825 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_location_parser.rl +82 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_transfer_encoding_parser.rb +525 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_transfer_encoding_parser.rl +75 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_type_parser.rb +1051 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/content_type_parser.rl +94 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/date_time_parser.rb +894 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/date_time_parser.rl +73 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/envelope_from_parser.rb +3678 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/envelope_from_parser.rl +93 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/message_ids_parser.rb +5164 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/message_ids_parser.rl +97 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/mime_version_parser.rb +516 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/mime_version_parser.rl +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/phrase_lists_parser.rb +887 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/phrase_lists_parser.rl +94 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/received_parser.rb +8785 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/received_parser.rl +95 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2045_content_transfer_encoding.rl +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2045_content_type.rl +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2045_mime.rl +16 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc2183_content_disposition.rl +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc3629_utf8.rl +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5234_abnf_core_rules.rl +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322.rl +74 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322_address.rl +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322_date_time.rl +37 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers/rfc5322_lexical_tokens.rl +60 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parsers.rb +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/part.rb +119 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/parts_list.rb +131 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/smtp_envelope.rb +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/utilities.rb +576 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/values/unicode_tables.dat +0 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/version.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail/yaml.rb +30 -0
- data/vendor/bundle/ruby/3.4.0/gems/mail-2.9.1/lib/mail.rb +65 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/CHANGELOG +65 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/CODE_OF_CONDUCT.md +74 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/Gemfile +9 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/README.md +114 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/Rakefile +97 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bench/bench.rb +51 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bin/console +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bin/db_pull_request +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/bin/setup +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/db/content_type_mime.db +880 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/db/ext_mime.db +1201 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/mini_mime/version.rb +4 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/lib/mini_mime.rb +186 -0
- data/vendor/bundle/ruby/3.4.0/gems/mini_mime-1.1.5/mini_mime.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/Gemfile +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/LICENSE.txt +65 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/README.md +77 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/Rakefile +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/docs/styles.css +85 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/authenticators.rb +37 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/command_data.rb +507 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_accessors.rb +75 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_inheritance.rb +90 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_type_coercion.rb +74 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config/attr_version_defaults.rb +93 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/config.rb +500 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/connection_state.rb +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_encoding.rb +214 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/data_lite.rb +226 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/deprecated_client_options.rb +142 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/errors.rb +118 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/esearch_result.rb +219 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/fetch_data.rb +597 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/flags.rb +262 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_data.rb +1113 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser/parser_utils.rb +245 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_parser.rb +2282 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/response_reader.rb +92 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/anonymous_authenticator.rb +69 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authentication_exchange.rb +139 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/authenticators.rb +122 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/client_adapter.rb +123 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/cram_md5_authenticator.rb +61 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/digest_md5_authenticator.rb +342 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/external_authenticator.rb +83 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/gs2_header.rb +80 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/login_authenticator.rb +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/oauthbearer_authenticator.rb +199 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/plain_authenticator.rb +101 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/protocol_adapters.rb +101 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_algorithm.rb +58 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/scram_authenticator.rb +361 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/stringprep.rb +12 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl/xoauth2_authenticator.rb +106 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl.rb +182 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sasl_adapter.rb +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/search_result.rb +145 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/sequence_set.rb +1952 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/nameprep.rb +70 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep.rb +69 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/saslprep_tables.rb +96 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/tables.rb +146 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep/trace.rb +85 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/stringprep.rb +159 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/uidplus_data.rb +244 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap/vanished_data.rb +65 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/lib/net/imap.rb +3968 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/net-imap.gemspec +38 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/benchmarks.rake +91 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/rdoc.rake +70 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/rfcs.rake +170 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/saslprep.rake +30 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/rakelib/string_prep_tables_generator.rb +449 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-imap-0.5.15/sample/net-imap.rb +167 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/Gemfile +7 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/README.md +66 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/Rakefile +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/lib/net/pop.rb +1025 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-pop-0.1.2/net-pop.gemspec +32 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/Gemfile +7 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/README.md +29 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/Rakefile +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/bin/console +14 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/bin/setup +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/lib/net/protocol.rb +544 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-protocol-0.2.2/net-protocol.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/LICENSE.txt +2 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/NEWS.md +133 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/README.md +97 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_cram_md5.rb +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_login.rb +11 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_plain.rb +9 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/auth_xoauth2.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp/authenticator.rb +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/lib/net/smtp.rb +1164 -0
- data/vendor/bundle/ruby/3.4.0/gems/net-smtp-0.5.1/net-smtp.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/Gemfile +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/README.md +95 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/Rakefile +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/bin/console +14 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/bin/setup +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/lib/pstore.rb +736 -0
- data/vendor/bundle/ruby/3.4.0/gems/pstore-0.2.1/pstore.gemspec +32 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/CHANGELOG.md +1346 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/CONTRIBUTING.md +144 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/README.md +384 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/SPEC.rdoc +258 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/auth/abstract/handler.rb +41 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/auth/abstract/request.rb +51 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/auth/basic.rb +58 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/bad_request.rb +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/body_proxy.rb +63 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/builder.rb +296 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/cascade.rb +67 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/common_logger.rb +89 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/conditional_get.rb +87 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/config.rb +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/constants.rb +68 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/content_length.rb +34 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/content_type.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/deflater.rb +158 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/directory.rb +208 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/etag.rb +71 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/events.rb +172 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/files.rb +216 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/head.rb +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/headers.rb +238 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/lint.rb +964 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/lock.rb +29 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/media_type.rb +52 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/method_override.rb +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mime.rb +694 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mock.rb +3 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mock_request.rb +161 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/mock_response.rb +156 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart/generator.rb +99 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart/parser.rb +621 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart/uploaded_file.rb +82 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/multipart.rb +77 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/null_logger.rb +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/query_parser.rb +261 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/recursive.rb +66 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/reloader.rb +112 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/request.rb +790 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/response.rb +403 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/rewindable_input.rb +116 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/runtime.rb +35 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/sendfile.rb +197 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/show_exceptions.rb +409 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/show_status.rb +121 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/static.rb +192 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/tempfile_reaper.rb +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/urlmap.rb +99 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/utils.rb +714 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack/version.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.2.6/lib/rack.rb +64 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/abstract/id.rb +535 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/constants.rb +13 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/cookie.rb +315 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/encryptor.rb +415 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/pool.rb +82 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session/version.rb +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/lib/rack/session.rb +12 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/license.md +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/readme.md +47 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/releases.md +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.2/security.md +3 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/bin/rackup +5 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/handler/cgi.rb +61 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/handler/webrick.rb +196 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/handler.rb +113 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/lobster.rb +81 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/server.rb +462 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/stream.rb +199 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup/version.rb +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/lib/rackup.rb +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/license.md +80 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/readme.md +82 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/releases.md +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/rackup-2.3.1/security.md +3 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/History.rdoc +2454 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/README.rdoc +155 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/command_line_usage.rdoc +171 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/jamis.rb +592 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rake.1 +156 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rakefile.rdoc +635 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/exe/rake +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/application.rb +847 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/backtrace.rb +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/clean.rb +78 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/cloneable.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/cpu_counter.rb +122 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/default_loader.rb +15 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/dsl_definition.rb +196 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/early_time.rb +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/ext/core.rb +26 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/ext/string.rb +176 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_creation_task.rb +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_list.rb +435 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_task.rb +58 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_utils.rb +137 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_utils_ext.rb +135 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/invocation_exception_mixin.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/late_time.rb +18 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/linked_list.rb +112 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/loaders/makefile.rb +54 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/multi_task.rb +14 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/options.rb +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/packagetask.rb +222 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/phony.rb +16 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/private_reader.rb +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/promise.rb +100 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/pseudo_status.rb +30 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rake_module.rb +67 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rake_test_loader.rb +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/scope.rb +43 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task.rb +434 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_argument_error.rb +8 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_arguments.rb +113 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_manager.rb +333 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/tasklib.rb +12 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/testtask.rb +192 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/thread_history_display.rb +49 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/thread_pool.rb +157 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/trace_output.rb +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/version.rb +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/win32.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake.rb +69 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/rake.gemspec +102 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/CONTRIBUTING.md +32 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/LICENSE.md +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/README.md +44 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/bin/thor +6 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/create_file.rb +105 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/create_link.rb +61 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/directory.rb +108 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/empty_directory.rb +143 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/file_manipulation.rb +407 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions/inject_into_file.rb +163 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/actions.rb +340 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/base.rb +826 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/command.rb +151 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/error.rb +106 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/group.rb +292 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/invocation.rb +178 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/line_editor/basic.rb +37 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/line_editor/readline.rb +88 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/line_editor.rb +17 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/nested_context.rb +29 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/argument.rb +86 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/arguments.rb +195 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/option.rb +178 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser/options.rb +294 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/parser.rb +4 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/rake_compat.rb +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/runner.rb +335 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/basic.rb +392 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/color.rb +117 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/column_printer.rb +29 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/html.rb +84 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/lcs_diff.rb +49 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/table_printer.rb +118 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/terminal.rb +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell/wrapped_printer.rb +38 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/shell.rb +81 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/util.rb +285 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor/version.rb +3 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/lib/thor.rb +707 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.5.0/thor.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/BSDL +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/COPYING +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/Gemfile +10 -0
- data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/README.md +39 -0
- data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/lib/timeout.rb +314 -0
- data/vendor/bundle/ruby/3.4.0/gems/timeout-0.6.1/timeout.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/specifications/base64-0.3.0.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/cgi-0.5.2.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/specifications/date-3.5.1.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/specifications/emot-0.0.4.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/fastimage-2.4.1.gemspec +32 -0
- data/vendor/bundle/ruby/3.4.0/specifications/hikidoc-0.1.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/logger-1.7.0.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/mail-2.9.1.gemspec +38 -0
- data/vendor/bundle/ruby/3.4.0/specifications/mini_mime-1.1.5.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/net-imap-0.5.15.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/net-pop-0.1.2.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/net-protocol-0.2.2.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/net-smtp-0.5.1.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/pstore-0.2.1.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-3.2.6.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.2.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rackup-2.3.1.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rake-13.4.2.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/thor-1.5.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/timeout-0.6.1.gemspec +22 -0
- metadata +595 -20
- data/js/02edit.js +0 -15
- data/lib/tdiary/compatible.rb +0 -56
- data/misc/lib/fcgi_patch.rb +0 -89
- data/misc/paas/heroku/Gemfile.local +0 -12
- data/misc/paas/heroku/Gemfile.lock +0 -287
- 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
|