mail_engine 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardoc/checksums +17 -0
- data/.yardoc/objects/ActionMailer/Base/collect_responses_and_parts_order_i.dat +0 -0
- data/.yardoc/objects/ActionMailer/Base/mail_i.dat +0 -0
- data/.yardoc/objects/ActionMailer/Base/origin_mail_i.dat +0 -0
- data/.yardoc/objects/ActionMailer/Base/set_layout_and_partials_i.dat +0 -0
- data/.yardoc/objects/ActionMailer/Base.dat +0 -0
- data/.yardoc/objects/ActionMailer/Collector/custom_i.dat +0 -0
- data/.yardoc/objects/ActionMailer/Collector.dat +0 -0
- data/.yardoc/objects/ActionMailer.dat +0 -0
- data/.yardoc/objects/MailEngine/ActsAsMailReceiver/ClassMethods/acts_as_mail_receiver_i.dat +0 -0
- data/.yardoc/objects/MailEngine/ActsAsMailReceiver/ClassMethods.dat +0 -0
- data/.yardoc/objects/MailEngine/ActsAsMailReceiver.dat +0 -0
- data/.yardoc/objects/MailEngine/Base/_40_40configurations.dat +0 -0
- data/.yardoc/objects/MailEngine/Base/current_config_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Base/send_mail_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Base.dat +0 -0
- data/.yardoc/objects/MailEngine/Configuration/load_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Configuration.dat +0 -0
- data/.yardoc/objects/MailEngine/CreateConfig/create_config_file_i.dat +0 -0
- data/.yardoc/objects/MailEngine/CreateConfig.dat +0 -0
- data/.yardoc/objects/MailEngine/CreateMigration/create_migrations_i.dat +0 -0
- data/.yardoc/objects/MailEngine/CreateMigration.dat +0 -0
- data/.yardoc/objects/MailEngine/Engine.dat +0 -0
- data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/check_21_c.dat +0 -0
- data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/process_c.dat +0 -0
- data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/replace_resource_filename_in_html_c.dat +0 -0
- data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer/replace_resource_url_in_html_c.dat +0 -0
- data/.yardoc/objects/MailEngine/HtmlDocumentAssetsReplacer.dat +0 -0
- data/.yardoc/objects/MailEngine/MailLogSubscriber/deliver_i.dat +0 -0
- data/.yardoc/objects/MailEngine/MailLogSubscriber.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/Base/ClassMethods/sendgrid_header_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/Base/ClassMethods.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/Base/InstanceMethods.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/Base.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/data_3D_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/data_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/initialize_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting/validate_config_21_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/FilterSetting.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApi/blocks_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApi/bounces_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApi/invalidemails_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApi/spamreports_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApi/stats_c.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApi.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/RestApiError.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/add_sub_val_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/add_to_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/category_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/filters_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/initialize_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/set_unique_args_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/to_hash_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/to_json_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi/to_s_i.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid/SmtpApi.dat +0 -0
- data/.yardoc/objects/MailEngine/Sendgrid.dat +0 -0
- data/.yardoc/objects/MailEngine/VERSION.dat +0 -0
- data/.yardoc/objects/MailEngine/ZipProcessor/extract_all_files_c.dat +0 -0
- data/.yardoc/objects/MailEngine/ZipProcessor.dat +0 -0
- data/.yardoc/objects/MailEngine.dat +0 -0
- data/.yardoc/objects/PLACEHOLDERS_IN_LAYOUT.dat +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- data/Gemfile +36 -0
- data/Gemfile.lock +159 -0
- data/MIT-LICENSE +20 -0
- data/README.mkd +152 -0
- data/Rakefile +57 -0
- data/VERSION +1 -0
- data/app/controllers/mail_engine/application_controller.rb +7 -0
- data/app/controllers/mail_engine/dashboard_controller.rb +9 -0
- data/app/controllers/mail_engine/mail_logs_controller.rb +20 -0
- data/app/controllers/mail_engine/mail_schedules_controller.rb +56 -0
- data/app/controllers/mail_engine/mail_template_files_controller.rb +46 -0
- data/app/controllers/mail_engine/mail_templates_controller.rb +141 -0
- data/app/controllers/mail_engine/reports_controller.rb +34 -0
- data/app/helpers/mail_engine/mail_engine_helper.rb +30 -0
- data/app/mailers/mail_engine/mail_dispatcher.rb +59 -0
- data/app/models/mail_engine/mail_log.rb +36 -0
- data/app/models/mail_engine/mail_schedule.rb +70 -0
- data/app/models/mail_engine/mail_template.rb +270 -0
- data/app/models/mail_engine/mail_template_file.rb +31 -0
- data/app/models/mail_engine/template_partial.rb +9 -0
- data/app/uploaders/mail_engine/template_file_uploader.rb +47 -0
- data/app/uploaders/mail_engine/zip_file_uploader.rb +47 -0
- data/app/views/layouts/mail_engine/mail_engine.html.erb +112 -0
- data/app/views/layouts/mail_engine/mail_template_layouts/header_and_footer.html.erb +10 -0
- data/app/views/layouts/mail_engine/mail_template_layouts/header_and_footer.text.erb +3 -0
- data/app/views/layouts/mail_engine/mail_template_layouts/none.html.erb +8 -0
- data/app/views/layouts/mail_engine/mail_template_layouts/none.text.erb +1 -0
- data/app/views/layouts/mail_engine/mail_template_layouts/only_footer.html.erb +9 -0
- data/app/views/layouts/mail_engine/mail_template_layouts/only_footer.text.erb +2 -0
- data/app/views/mail_engine/dashboard/index.html.erb +64 -0
- data/app/views/mail_engine/mail_logs/index.html.erb +34 -0
- data/app/views/mail_engine/mail_logs/show.html.erb +38 -0
- data/app/views/mail_engine/mail_schedules/_form.html.erb +45 -0
- data/app/views/mail_engine/mail_schedules/edit.html.erb +16 -0
- data/app/views/mail_engine/mail_schedules/index.html.erb +50 -0
- data/app/views/mail_engine/mail_schedules/new.html.erb +13 -0
- data/app/views/mail_engine/mail_schedules/show.html.erb +44 -0
- data/app/views/mail_engine/mail_template_files/_form.html.erb +28 -0
- data/app/views/mail_engine/mail_template_files/edit.html.erb +9 -0
- data/app/views/mail_engine/mail_template_files/new.html.erb +9 -0
- data/app/views/mail_engine/mail_templates/_form.html.erb +97 -0
- data/app/views/mail_engine/mail_templates/_layout_selector.html.erb +50 -0
- data/app/views/mail_engine/mail_templates/duplicate.html.erb +41 -0
- data/app/views/mail_engine/mail_templates/edit.html.erb +16 -0
- data/app/views/mail_engine/mail_templates/index.html.erb +69 -0
- data/app/views/mail_engine/mail_templates/new.html.erb +12 -0
- data/app/views/mail_engine/mail_templates/new_by_upload.html.erb +63 -0
- data/app/views/mail_engine/mail_templates/partial_options.html.erb +28 -0
- data/app/views/mail_engine/mail_templates/preview.html.erb +1 -0
- data/app/views/mail_engine/mail_templates/preview.text.erb +1 -0
- data/app/views/mail_engine/mail_templates/show.html.erb +64 -0
- data/app/views/mail_engine/reports/charts/blocks.html.erb +21 -0
- data/app/views/mail_engine/reports/charts/bounces.html.erb +21 -0
- data/app/views/mail_engine/reports/charts/invalidemails.html.erb +19 -0
- data/app/views/mail_engine/reports/charts/spamreports.html.erb +17 -0
- data/app/views/mail_engine/reports/index.html.erb +67 -0
- data/config/routes.rb +48 -0
- data/db/migrate/20110114030841_create_table_mail_template.rb +22 -0
- data/db/migrate/20110126030525_create_mail_schedules.rb +21 -0
- data/db/migrate/20110204114145_create_template_partials.rb +13 -0
- data/db/migrate/20110206025002_create_mail_logs.rb +17 -0
- data/db/migrate/20110217062316_create_mail_template_files.rb +14 -0
- data/doc/_index.html +322 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +310 -0
- data/doc/file_list.html +38 -0
- data/doc/frames.html +13 -0
- data/doc/js/app.js +203 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/method_list.html +283 -0
- data/lib/mail_engine/action_mailer_patch.rb +104 -0
- data/lib/mail_engine/acts_as_mail_receiver.rb +22 -0
- data/lib/mail_engine/base.rb +26 -0
- data/lib/mail_engine/configuration.rb +11 -0
- data/lib/mail_engine/engine.rb +42 -0
- data/lib/mail_engine/generators/create_config.rb +20 -0
- data/lib/mail_engine/generators/create_migration.rb +20 -0
- data/lib/mail_engine/generators/templates/mail_engine_config.yml +14 -0
- data/lib/mail_engine/html_document_assets_replacer.rb +86 -0
- data/lib/mail_engine/mail_log_subscriber.rb +30 -0
- data/lib/mail_engine/placeholders_in_layout.rb +5 -0
- data/lib/mail_engine/sendgrid/base.rb +45 -0
- data/lib/mail_engine/sendgrid/rest_api.rb +85 -0
- data/lib/mail_engine/sendgrid/smtp_api.rb +85 -0
- data/lib/mail_engine/sendgrid.rb +9 -0
- data/lib/mail_engine/tasks/sendmail.rake +8 -0
- data/lib/mail_engine/version.rb +3 -0
- data/lib/mail_engine/zip_processor.rb +51 -0
- data/lib/mail_engine.rb +17 -0
- data/mail_engine.gemspec +422 -0
- data/screenshots/bounce_report.png +0 -0
- data/screenshots/dashboard.png +0 -0
- data/screenshots/editing_mail_template.png +0 -0
- data/screenshots/logs.png +0 -0
- data/screenshots/new_by_upload.png +0 -0
- data/screenshots/reports.png +0 -0
- data/screenshots/schedule.png +0 -0
- data/screenshots/select_layout_partial.png +0 -0
- data/screenshots/templates.png +0 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/controllers/application_controller.rb +11 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/mailers/user_mailer.rb +36 -0
- data/test/dummy/app/models/user.rb +10 -0
- data/test/dummy/config/application.rb +52 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +52 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +47 -0
- data/test/dummy/config/environments/production.rb +49 -0
- data/test/dummy/config/environments/test.rb +43 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +10 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/locales/zh.yml +2 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/migrate/20110114030841_create_table_mail_template.rb +22 -0
- data/test/dummy/db/migrate/20110125094530_create_users.rb +16 -0
- data/test/dummy/db/migrate/20110126030525_create_mail_schedules.rb +21 -0
- data/test/dummy/db/migrate/20110204114145_create_template_partials.rb +13 -0
- data/test/dummy/db/migrate/20110206025002_create_mail_logs.rb +17 -0
- data/test/dummy/db/migrate/20110217062316_create_mail_template_files.rb +14 -0
- data/test/dummy/db/schema.rb +78 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +26 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/images/mail_engine/header_and_footer_layout.png +0 -0
- data/test/dummy/public/images/mail_engine/logo.gif +0 -0
- data/test/dummy/public/images/mail_engine/logo.png +0 -0
- data/test/dummy/public/images/mail_engine/none_layout.png +0 -0
- data/test/dummy/public/images/mail_engine/only_footer_layout.png +0 -0
- data/test/dummy/public/images/mail_engine/unselect_header_and_footer_layout.png +0 -0
- data/test/dummy/public/images/mail_engine/unselect_none_layout.png +0 -0
- data/test/dummy/public/images/mail_engine/unselect_only_footer_layout.png +0 -0
- data/test/dummy/public/javascripts/jquery.iframe-auto-height.plugin.js +50 -0
- data/test/dummy/public/javascripts/jquery.js +16 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/img/ajaxLoader.gif +0 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/img/close.gif +0 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/img/next.gif +0 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/img/prev.gif +0 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal-ie6.js +186 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal-ie6.min.js +9 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal.custom.js +1599 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/js/jquery.nyroModal.custom.min.js +34 -0
- data/test/dummy/public/javascripts/jquery.nyroModal/styles/nyroModal.css +102 -0
- data/test/dummy/public/javascripts/jquery.string.js +425 -0
- data/test/dummy/public/javascripts/mail_engine_application.js +2 -0
- data/test/dummy/public/javascripts/markitup/jquery.markitup.js +564 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/bold.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/css.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/italic.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/picture.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/stroke.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/tag.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_align_center.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_align_justify.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_align_left.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_align_right.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_indent.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_letterspacing.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_linespacing.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_lowercase.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_padding_bottom.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_padding_left.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_padding_right.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_padding_top.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/images/text_uppercase.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/css/readme.txt +28 -0
- data/test/dummy/public/javascripts/markitup/sets/css/set.js +52 -0
- data/test/dummy/public/javascripts/markitup/sets/css/style.css +72 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/bold.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/clean.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/image.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/italic.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/link.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/picture.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/preview.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/images/stroke.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/default/set.js +27 -0
- data/test/dummy/public/javascripts/markitup/sets/default/style.css +27 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/bold.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/clean.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/h1.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/h2.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/h3.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/h4.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/h5.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/h6.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/image.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/italic.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/link.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/list-bullet.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/list-item.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/list-numeric.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/paragraph.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/picture.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/preview.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/images/stroke.png +0 -0
- data/test/dummy/public/javascripts/markitup/sets/html/readme.txt +11 -0
- data/test/dummy/public/javascripts/markitup/sets/html/set.js +40 -0
- data/test/dummy/public/javascripts/markitup/sets/html/style.css +59 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-container.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-html.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-json.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/bg-editor.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/handle.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/menu.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/images/submenu.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/markitup/style.css +147 -0
- data/test/dummy/public/javascripts/markitup/skins/simple/images/handle.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/simple/images/menu.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/simple/images/submenu.png +0 -0
- data/test/dummy/public/javascripts/markitup/skins/simple/style.css +118 -0
- data/test/dummy/public/javascripts/markitup/templates/preview.css +5 -0
- data/test/dummy/public/javascripts/markitup/templates/preview.html +11 -0
- data/test/dummy/public/javascripts/rails.js +132 -0
- data/test/dummy/public/stylesheets/.gitkeep +0 -0
- data/test/dummy/public/stylesheets/application.css +0 -0
- data/test/dummy/public/stylesheets/style.css +681 -0
- data/test/dummy/script/rails +6 -0
- data/test/factories.rb +88 -0
- data/test/fixtures/files/compress_by_dir.zip +0 -0
- data/test/fixtures/files/compress_by_file.zip +0 -0
- data/test/fixtures/files/image.png +0 -0
- data/test/functional/mail_engine/mail_dispatcher_test.rb +8 -0
- data/test/functional/mail_engine/mail_schedules_controller_controller_test.rb +8 -0
- data/test/functional/mail_engine/mail_templates_controller_controller_test.rb +8 -0
- data/test/support/integration_case.rb +5 -0
- data/test/test_helper.rb +35 -0
- data/test/unit/mail_engine/mail_log_test.rb +8 -0
- data/test/unit/mail_engine/mail_schedule_test.rb +40 -0
- data/test/unit/mail_engine/mail_template_file_test.rb +21 -0
- data/test/unit/mail_engine/mail_template_test.rb +77 -0
- data/test/unit/mail_engine/template_partial_test.rb +8 -0
- metadata +597 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
<div class="post">
|
2
|
+
<div class="post-title">
|
3
|
+
<h2><%= @mail_template.name %></h2>
|
4
|
+
</div>
|
5
|
+
<div class="post-body">
|
6
|
+
<table class="data-table largest">
|
7
|
+
<tr>
|
8
|
+
<td>Full Path</td>
|
9
|
+
<td>
|
10
|
+
<%= @mail_template.full_path %>
|
11
|
+
</td>
|
12
|
+
</tr>
|
13
|
+
<% unless @mail_template.partial? %>
|
14
|
+
<tr>
|
15
|
+
<td>Layout</td>
|
16
|
+
<td>
|
17
|
+
<%= image_tag "/images/mail_engine/#{@mail_template.layout}_layout.png" %>
|
18
|
+
</td>
|
19
|
+
</tr>
|
20
|
+
<% end %>
|
21
|
+
</table>
|
22
|
+
|
23
|
+
<p>
|
24
|
+
<h4>Preview</h4>
|
25
|
+
<iframe width="100%" class="bordered" src="<%= body_mail_template_path(@mail_template, :format => @mail_template.format) %>"></iframe>
|
26
|
+
</p>
|
27
|
+
|
28
|
+
<p>
|
29
|
+
<h4>Sending Logs</h4>
|
30
|
+
<% show_no_record(logs = @mail_template.logs) do %>
|
31
|
+
<table class="data-table">
|
32
|
+
<tr>
|
33
|
+
<th>Subject</th>
|
34
|
+
<th>Sender</th>
|
35
|
+
<th>Recipient</th>
|
36
|
+
<th>mime_type</th>
|
37
|
+
<th>Sent at</th>
|
38
|
+
<th></th>
|
39
|
+
</tr>
|
40
|
+
|
41
|
+
<% logs.each do |log| %>
|
42
|
+
<tr class="even">
|
43
|
+
<td><%= log.subject %></td>
|
44
|
+
<td><%= log.sender %></td>
|
45
|
+
<td><%= log.recipient %></td>
|
46
|
+
<td><%= log.mime_type %></td>
|
47
|
+
<td><%= log.created_at %></td>
|
48
|
+
<td>
|
49
|
+
<%= link_to 'Show', mail_log_path(log) %>
|
50
|
+
<%= link_to 'Destroy', mail_log_path(log), :confirm => 'Are you sure?', :method => :delete %>
|
51
|
+
</td>
|
52
|
+
</tr>
|
53
|
+
<% end %>
|
54
|
+
</table>
|
55
|
+
<% end %>
|
56
|
+
</p>
|
57
|
+
</div>
|
58
|
+
<br />
|
59
|
+
<h2>
|
60
|
+
<%= link_to 'Edit', edit_mail_template_path(@mail_template) %>
|
61
|
+
|
|
62
|
+
<%= link_to 'Back', mail_templates_path(:type => @mail_template.type) %>
|
63
|
+
</h2>
|
64
|
+
</div>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<h1><%= params[:type].titleize %></h1>
|
2
|
+
|
3
|
+
<% show_no_record(@result) do %>
|
4
|
+
<table class="data-table">
|
5
|
+
<tr>
|
6
|
+
<th>Email</th>
|
7
|
+
<th>Status</th>
|
8
|
+
<th>Reason</th>
|
9
|
+
<th>Created At</th>
|
10
|
+
</tr>
|
11
|
+
|
12
|
+
<% @result.each do |record| %>
|
13
|
+
<tr class="even">
|
14
|
+
<td><%= record["email"] %></td>
|
15
|
+
<td><%= record["status"] %></td>
|
16
|
+
<td><%= record["reason"] %></td>
|
17
|
+
<td><%= record["created"] %></td>
|
18
|
+
</tr>
|
19
|
+
<% end %>
|
20
|
+
</table>
|
21
|
+
<% end %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<h1><%= params[:type].titleize %></h1>
|
2
|
+
|
3
|
+
<% show_no_record(@result) do %>
|
4
|
+
<table class="data-table">
|
5
|
+
<tr>
|
6
|
+
<th>Email</th>
|
7
|
+
<th>Status</th>
|
8
|
+
<th>Reason</th>
|
9
|
+
<th>Created At</th>
|
10
|
+
</tr>
|
11
|
+
|
12
|
+
<% @result.each do |record| %>
|
13
|
+
<tr class="even">
|
14
|
+
<td><%= record["email"] %></td>
|
15
|
+
<td><%= record["status"] %></td>
|
16
|
+
<td><%= record["reason"] %></td>
|
17
|
+
<td><%= record["created"] %></td>
|
18
|
+
</tr>
|
19
|
+
<% end %>
|
20
|
+
</table>
|
21
|
+
<% end %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<h1><%= params[:type].titleize %></h1>
|
2
|
+
|
3
|
+
<% show_no_record(@result) do %>
|
4
|
+
<table class="data-table">
|
5
|
+
<tr>
|
6
|
+
<th>Email</th>
|
7
|
+
<th>Reason</th>
|
8
|
+
<th>Created At</th>
|
9
|
+
</tr>
|
10
|
+
|
11
|
+
<% @result.each do |record| %>
|
12
|
+
<tr class="even">
|
13
|
+
<td><%= record["email"] %></td>
|
14
|
+
<td><%= record["reason"] %></td>
|
15
|
+
<td><%= record["created"] %></td>
|
16
|
+
</tr>
|
17
|
+
<% end %>
|
18
|
+
</table>
|
19
|
+
<% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<h1><%= params[:type].titleize %></h1>
|
2
|
+
|
3
|
+
<% show_no_record(@result) do %>
|
4
|
+
<table class="data-table">
|
5
|
+
<tr>
|
6
|
+
<th>Email</th>
|
7
|
+
<th>Created At</th>
|
8
|
+
</tr>
|
9
|
+
|
10
|
+
<% @result.each do |record| %>
|
11
|
+
<tr class="even">
|
12
|
+
<td><%= record["email"] %></td>
|
13
|
+
<td><%= record["created"] %></td>
|
14
|
+
</tr>
|
15
|
+
<% end %>
|
16
|
+
</table>
|
17
|
+
<% end %>
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<script type="text/javascript">
|
2
|
+
// show historical line chart
|
3
|
+
function drawLine() {
|
4
|
+
var data = new google.visualization.DataTable();
|
5
|
+
data.addColumn('string', 'Date');
|
6
|
+
<% @stat_columns.each do |col| %>
|
7
|
+
data.addColumn('number', "<%= col %>");
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
data.addRows(stats_data.length);
|
11
|
+
|
12
|
+
<% @stats_data.each_with_index do |stat, i| %>
|
13
|
+
data.setValue(<%= i %>, 0, "<%= stat["date"] %>");
|
14
|
+
<% @stat_columns.each_with_index do |col, j| %>
|
15
|
+
data.setValue(<%= i %>, <%= j + 1 %>, <%= stat[col] %>);
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
var chart = new google.visualization.LineChart(document.getElementById('line_chart'));
|
20
|
+
chart.draw(data, {width: 960, height: 300, title: 'History Reports', chartArea: {left:0,top:0,width:"80%",height:"90%"} });
|
21
|
+
}
|
22
|
+
|
23
|
+
var stats_data = <%= raw @stats_data.to_json %>;
|
24
|
+
google.load("visualization", "1", {packages:["corechart"]});
|
25
|
+
google.setOnLoadCallback(drawLine);
|
26
|
+
</script>
|
27
|
+
|
28
|
+
<div class="historical-report left" style="margin-top: 10px">
|
29
|
+
<h2>History Report</h2>
|
30
|
+
<div class="clearrer"></div>
|
31
|
+
|
32
|
+
<div id='line_chart'></div>
|
33
|
+
|
34
|
+
<div class="history">
|
35
|
+
<table border="0" cellspacing="5" cellpadding="5" class="data-table" style="width: 95%; margin-top: 50px">
|
36
|
+
<tr>
|
37
|
+
<th>Date</th>
|
38
|
+
<th>Requests</th>
|
39
|
+
<th>Delivered</th>
|
40
|
+
<th>Opens <br> (unique/total)</th>
|
41
|
+
<th>Open Rate</th>
|
42
|
+
<th>Clicks <br> (unique/total)</th>
|
43
|
+
<th>Click Rate</th>
|
44
|
+
<th>Bounces</th>
|
45
|
+
<th>Spams</th>
|
46
|
+
<th>Blocks</th>
|
47
|
+
<th>Invalid <br> Emails</th>
|
48
|
+
</tr>
|
49
|
+
<% @stats_data.each do |stat| %>
|
50
|
+
<tr>
|
51
|
+
<td><%= stat["date"] %></td>
|
52
|
+
<td><%= stat["requests"] %></td>
|
53
|
+
<td><%= stat["delivered"] %></td>
|
54
|
+
<td><%= stat["unique_opens"] %> / <%= stat["opens"] %></td>
|
55
|
+
<td><%= show_percentage(stat["unique_opens"].to_f, stat["delivered"].to_f) %></td>
|
56
|
+
<td><%= stat["unique_clicks"] %> / <%= stat["clicks"] %></td>
|
57
|
+
<td><%= show_percentage(stat["unique_clicks"].to_f, stat["delivered"].to_f) %></td>
|
58
|
+
<td><%= stat["bounces"] %></td>
|
59
|
+
<td><%= stat["spamreports"] %></td>
|
60
|
+
<td><%= stat["blocks"] %></td>
|
61
|
+
<td><%= stat["invalid_email"] %></td>
|
62
|
+
</tr>
|
63
|
+
<% end %>
|
64
|
+
</table>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
<div class="clearer"></div>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
module MailEngine
|
2
|
+
Rails.application.routes.draw do
|
3
|
+
scope "/admin", :module => :mail_engine do
|
4
|
+
match '/', :controller => "dashboard", :action => "index", :as => :mail_engine_dashboard
|
5
|
+
|
6
|
+
resources :mail_templates do
|
7
|
+
member do
|
8
|
+
get :duplicate
|
9
|
+
put :duplicate
|
10
|
+
|
11
|
+
get :preview
|
12
|
+
post :preview
|
13
|
+
|
14
|
+
get :body
|
15
|
+
post :body
|
16
|
+
|
17
|
+
post :send_test_mail
|
18
|
+
end
|
19
|
+
|
20
|
+
collection do
|
21
|
+
# used before mail template be saved
|
22
|
+
post :preview
|
23
|
+
|
24
|
+
get :new_by_upload
|
25
|
+
post :create_by_upload
|
26
|
+
post :partial_options
|
27
|
+
end
|
28
|
+
|
29
|
+
resources :mail_template_files
|
30
|
+
end
|
31
|
+
|
32
|
+
resources :mail_schedules do
|
33
|
+
member do
|
34
|
+
post :send_test_mail
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
resources :mail_logs
|
39
|
+
resources :reports do
|
40
|
+
collection do
|
41
|
+
get :chart
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# match ':controller(/:action(/:id(.:format)))', :controller => /admin\/[^\/]+/
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class CreateTableMailTemplate < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :mail_templates do |t|
|
4
|
+
t.string :name
|
5
|
+
t.string :path
|
6
|
+
t.string :format, :default => 'html'
|
7
|
+
t.string :locale
|
8
|
+
t.string :handler, :default => 'liquid'
|
9
|
+
t.text :body
|
10
|
+
t.boolean :partial, :default => false
|
11
|
+
t.boolean :for_marketing, :default => false
|
12
|
+
t.string :layout
|
13
|
+
t.string :zip_file
|
14
|
+
|
15
|
+
t.timestamps
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.down
|
20
|
+
drop_table :mail_templates
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class CreateMailSchedules < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :mail_schedules do |t|
|
4
|
+
t.string :name
|
5
|
+
t.integer :mail_template_id
|
6
|
+
t.string :user_group
|
7
|
+
t.integer :count, :default => 0
|
8
|
+
t.integer :sent_count, :default => 0
|
9
|
+
t.string :period
|
10
|
+
t.string :payload
|
11
|
+
t.datetime :first_send_at
|
12
|
+
t.datetime :last_sent_at
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.down
|
19
|
+
drop_table :mail_schedules
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateTemplatePartials < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :template_partials do |t|
|
4
|
+
t.string :placeholder_name
|
5
|
+
t.integer :mail_template_id
|
6
|
+
t.integer :partial_id
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.down
|
11
|
+
drop_table :template_partials
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateMailLogs < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :mail_logs do |t|
|
4
|
+
t.string "mail_template_path"
|
5
|
+
t.string "recipient"
|
6
|
+
t.string "sender"
|
7
|
+
t.string "subject"
|
8
|
+
t.string "mime_type"
|
9
|
+
t.text "raw_body"
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.down
|
15
|
+
drop_table :mail_logs
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateMailTemplateFiles < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :mail_template_files do |t|
|
4
|
+
t.integer :mail_template_id
|
5
|
+
t.string :file
|
6
|
+
t.integer :size
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.down
|
12
|
+
drop_table :mail_template_files
|
13
|
+
end
|
14
|
+
end
|
data/doc/_index.html
ADDED
@@ -0,0 +1,322 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta name="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Documentation by YARD 0.6.4</title>
|
7
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
9
|
+
|
10
|
+
<script type="text/javascript" charset="utf-8">
|
11
|
+
relpath = '';
|
12
|
+
if (relpath != '') relpath += '/';
|
13
|
+
</script>
|
14
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
<script type="text/javascript" charset="utf-8">
|
20
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<div id="header">
|
24
|
+
<div id="menu">
|
25
|
+
|
26
|
+
|
27
|
+
<span class="title"></span>
|
28
|
+
|
29
|
+
|
30
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div id="search">
|
34
|
+
<a id="class_list_link" href="#">Class List</a>
|
35
|
+
<a id="method_list_link" href="#">Method List</a>
|
36
|
+
<a id ="file_list_link" href="#">File List</a>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div class="clear"></div>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<iframe id="search_frame"></iframe>
|
43
|
+
|
44
|
+
<div id="content"><div id="listing">
|
45
|
+
<h1 class="noborder title">Documentation by YARD 0.6.4</h1>
|
46
|
+
<h1 class="alphaindex">Alphabetic Index</h1>
|
47
|
+
|
48
|
+
|
49
|
+
<h2>File Listing</h2>
|
50
|
+
<ul id="files">
|
51
|
+
|
52
|
+
|
53
|
+
<li class="r1"><a href="index.html" title="README">README</a></li>
|
54
|
+
|
55
|
+
|
56
|
+
</ul>
|
57
|
+
|
58
|
+
<div class="clear"></div>
|
59
|
+
|
60
|
+
<h2>Namespace Listing A-Z</h2>
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
<table>
|
66
|
+
<tr>
|
67
|
+
<td valign='top' width="33%">
|
68
|
+
|
69
|
+
|
70
|
+
<ul id="alpha_A" class="alpha">
|
71
|
+
<li class="letter">A</li>
|
72
|
+
<ul>
|
73
|
+
|
74
|
+
<li>
|
75
|
+
<span class='object_link'><a href="ActionMailer.html" title="ActionMailer (module)">ActionMailer</a></span>
|
76
|
+
|
77
|
+
</li>
|
78
|
+
|
79
|
+
<li>
|
80
|
+
<span class='object_link'><a href="MailEngine/ActsAsMailReceiver.html" title="MailEngine::ActsAsMailReceiver (module)">ActsAsMailReceiver</a></span>
|
81
|
+
|
82
|
+
<small>(MailEngine)</small>
|
83
|
+
|
84
|
+
</li>
|
85
|
+
|
86
|
+
</ul>
|
87
|
+
</ul>
|
88
|
+
|
89
|
+
|
90
|
+
<ul id="alpha_B" class="alpha">
|
91
|
+
<li class="letter">B</li>
|
92
|
+
<ul>
|
93
|
+
|
94
|
+
<li>
|
95
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/Base.html" title="MailEngine::Sendgrid::Base (module)">Base</a></span>
|
96
|
+
|
97
|
+
<small>(MailEngine::Sendgrid)</small>
|
98
|
+
|
99
|
+
</li>
|
100
|
+
|
101
|
+
<li>
|
102
|
+
<span class='object_link'><a href="MailEngine/Base.html" title="MailEngine::Base (class)">Base</a></span>
|
103
|
+
|
104
|
+
<small>(MailEngine)</small>
|
105
|
+
|
106
|
+
</li>
|
107
|
+
|
108
|
+
<li>
|
109
|
+
<span class='object_link'><a href="ActionMailer/Base.html" title="ActionMailer::Base (class)">Base</a></span>
|
110
|
+
|
111
|
+
<small>(ActionMailer)</small>
|
112
|
+
|
113
|
+
</li>
|
114
|
+
|
115
|
+
</ul>
|
116
|
+
</ul>
|
117
|
+
|
118
|
+
|
119
|
+
<ul id="alpha_C" class="alpha">
|
120
|
+
<li class="letter">C</li>
|
121
|
+
<ul>
|
122
|
+
|
123
|
+
<li>
|
124
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/Base/ClassMethods.html" title="MailEngine::Sendgrid::Base::ClassMethods (module)">ClassMethods</a></span>
|
125
|
+
|
126
|
+
<small>(MailEngine::Sendgrid::Base)</small>
|
127
|
+
|
128
|
+
</li>
|
129
|
+
|
130
|
+
<li>
|
131
|
+
<span class='object_link'><a href="MailEngine/ActsAsMailReceiver/ClassMethods.html" title="MailEngine::ActsAsMailReceiver::ClassMethods (module)">ClassMethods</a></span>
|
132
|
+
|
133
|
+
<small>(MailEngine::ActsAsMailReceiver)</small>
|
134
|
+
|
135
|
+
</li>
|
136
|
+
|
137
|
+
<li>
|
138
|
+
<span class='object_link'><a href="ActionMailer/Collector.html" title="ActionMailer::Collector (class)">Collector</a></span>
|
139
|
+
|
140
|
+
<small>(ActionMailer)</small>
|
141
|
+
|
142
|
+
</li>
|
143
|
+
|
144
|
+
<li>
|
145
|
+
<span class='object_link'><a href="MailEngine/Configuration.html" title="MailEngine::Configuration (class)">Configuration</a></span>
|
146
|
+
|
147
|
+
<small>(MailEngine)</small>
|
148
|
+
|
149
|
+
</li>
|
150
|
+
|
151
|
+
<li>
|
152
|
+
<span class='object_link'><a href="MailEngine/CreateConfig.html" title="MailEngine::CreateConfig (class)">CreateConfig</a></span>
|
153
|
+
|
154
|
+
<small>(MailEngine)</small>
|
155
|
+
|
156
|
+
</li>
|
157
|
+
|
158
|
+
<li>
|
159
|
+
<span class='object_link'><a href="MailEngine/CreateMigration.html" title="MailEngine::CreateMigration (class)">CreateMigration</a></span>
|
160
|
+
|
161
|
+
<small>(MailEngine)</small>
|
162
|
+
|
163
|
+
</li>
|
164
|
+
|
165
|
+
</ul>
|
166
|
+
</ul>
|
167
|
+
|
168
|
+
|
169
|
+
<ul id="alpha_E" class="alpha">
|
170
|
+
<li class="letter">E</li>
|
171
|
+
<ul>
|
172
|
+
|
173
|
+
<li>
|
174
|
+
<span class='object_link'><a href="MailEngine/Engine.html" title="MailEngine::Engine (class)">Engine</a></span>
|
175
|
+
|
176
|
+
<small>(MailEngine)</small>
|
177
|
+
|
178
|
+
</li>
|
179
|
+
|
180
|
+
</ul>
|
181
|
+
</ul>
|
182
|
+
|
183
|
+
|
184
|
+
<ul id="alpha_F" class="alpha">
|
185
|
+
<li class="letter">F</li>
|
186
|
+
<ul>
|
187
|
+
|
188
|
+
<li>
|
189
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/FilterSetting.html" title="MailEngine::Sendgrid::FilterSetting (class)">FilterSetting</a></span>
|
190
|
+
|
191
|
+
<small>(MailEngine::Sendgrid)</small>
|
192
|
+
|
193
|
+
</li>
|
194
|
+
|
195
|
+
</ul>
|
196
|
+
</ul>
|
197
|
+
|
198
|
+
|
199
|
+
<ul id="alpha_H" class="alpha">
|
200
|
+
<li class="letter">H</li>
|
201
|
+
<ul>
|
202
|
+
|
203
|
+
<li>
|
204
|
+
<span class='object_link'><a href="MailEngine/HtmlDocumentAssetsReplacer.html" title="MailEngine::HtmlDocumentAssetsReplacer (class)">HtmlDocumentAssetsReplacer</a></span>
|
205
|
+
|
206
|
+
<small>(MailEngine)</small>
|
207
|
+
|
208
|
+
</li>
|
209
|
+
|
210
|
+
</ul>
|
211
|
+
</ul>
|
212
|
+
|
213
|
+
|
214
|
+
<ul id="alpha_I" class="alpha">
|
215
|
+
<li class="letter">I</li>
|
216
|
+
<ul>
|
217
|
+
|
218
|
+
<li>
|
219
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/Base/InstanceMethods.html" title="MailEngine::Sendgrid::Base::InstanceMethods (module)">InstanceMethods</a></span>
|
220
|
+
|
221
|
+
<small>(MailEngine::Sendgrid::Base)</small>
|
222
|
+
|
223
|
+
</li>
|
224
|
+
|
225
|
+
</ul>
|
226
|
+
</ul>
|
227
|
+
|
228
|
+
|
229
|
+
</td><td valign='top' width="33%">
|
230
|
+
|
231
|
+
|
232
|
+
<ul id="alpha_M" class="alpha">
|
233
|
+
<li class="letter">M</li>
|
234
|
+
<ul>
|
235
|
+
|
236
|
+
<li>
|
237
|
+
<span class='object_link'><a href="MailEngine.html" title="MailEngine (module)">MailEngine</a></span>
|
238
|
+
|
239
|
+
</li>
|
240
|
+
|
241
|
+
<li>
|
242
|
+
<span class='object_link'><a href="MailEngine/MailLogSubscriber.html" title="MailEngine::MailLogSubscriber (class)">MailLogSubscriber</a></span>
|
243
|
+
|
244
|
+
<small>(MailEngine)</small>
|
245
|
+
|
246
|
+
</li>
|
247
|
+
|
248
|
+
</ul>
|
249
|
+
</ul>
|
250
|
+
|
251
|
+
|
252
|
+
<ul id="alpha_R" class="alpha">
|
253
|
+
<li class="letter">R</li>
|
254
|
+
<ul>
|
255
|
+
|
256
|
+
<li>
|
257
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/RestApi.html" title="MailEngine::Sendgrid::RestApi (class)">RestApi</a></span>
|
258
|
+
|
259
|
+
<small>(MailEngine::Sendgrid)</small>
|
260
|
+
|
261
|
+
</li>
|
262
|
+
|
263
|
+
<li>
|
264
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/RestApiError.html" title="MailEngine::Sendgrid::RestApiError (class)">RestApiError</a></span>
|
265
|
+
|
266
|
+
<small>(MailEngine::Sendgrid)</small>
|
267
|
+
|
268
|
+
</li>
|
269
|
+
|
270
|
+
</ul>
|
271
|
+
</ul>
|
272
|
+
|
273
|
+
|
274
|
+
<ul id="alpha_S" class="alpha">
|
275
|
+
<li class="letter">S</li>
|
276
|
+
<ul>
|
277
|
+
|
278
|
+
<li>
|
279
|
+
<span class='object_link'><a href="MailEngine/Sendgrid.html" title="MailEngine::Sendgrid (module)">Sendgrid</a></span>
|
280
|
+
|
281
|
+
<small>(MailEngine)</small>
|
282
|
+
|
283
|
+
</li>
|
284
|
+
|
285
|
+
<li>
|
286
|
+
<span class='object_link'><a href="MailEngine/Sendgrid/SmtpApi.html" title="MailEngine::Sendgrid::SmtpApi (class)">SmtpApi</a></span>
|
287
|
+
|
288
|
+
<small>(MailEngine::Sendgrid)</small>
|
289
|
+
|
290
|
+
</li>
|
291
|
+
|
292
|
+
</ul>
|
293
|
+
</ul>
|
294
|
+
|
295
|
+
|
296
|
+
<ul id="alpha_Z" class="alpha">
|
297
|
+
<li class="letter">Z</li>
|
298
|
+
<ul>
|
299
|
+
|
300
|
+
<li>
|
301
|
+
<span class='object_link'><a href="MailEngine/ZipProcessor.html" title="MailEngine::ZipProcessor (class)">ZipProcessor</a></span>
|
302
|
+
|
303
|
+
<small>(MailEngine)</small>
|
304
|
+
|
305
|
+
</li>
|
306
|
+
|
307
|
+
</ul>
|
308
|
+
</ul>
|
309
|
+
|
310
|
+
</td>
|
311
|
+
</tr>
|
312
|
+
</table>
|
313
|
+
</div></div>
|
314
|
+
|
315
|
+
<div id="footer">
|
316
|
+
Generated on Fri Feb 25 18:06:27 2011 by
|
317
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
318
|
+
0.6.4 (ruby-1.8.7).
|
319
|
+
</div>
|
320
|
+
|
321
|
+
</body>
|
322
|
+
</html>
|