aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer
Commit message (Collapse)AuthorAgeFilesLines
* Preparing for 5.2.0.beta2 releaseRafael Mendonça França2017-11-281-1/+1
|
* Preparing for 5.2.0.beta1 releaseRafael Mendonça França2017-11-271-1/+1
|
* Sort mailer previewsDwight Watson2017-11-141-1/+1
|
* [Action Mailer] require_relative => requireAkira Matsuda2017-10-211-3/+3
| | | | This basically reverts cd9cc721ab54e2b0c7875cacf2113f03908a8bb7
* Add assert_enqueued_email_with to ActionMailer::TestHelperMikkel Malmberg2017-09-271-0/+42
|
* Update Action Mailer doc [ci skip]Yoshiyuki Hirano2017-08-303-8/+8
|
* Use tt in doc for action_mailer [ci skip]Yoshiyuki Hirano2017-08-261-1/+1
|
* Merge pull request #29559 from kirs/eager-load-controller-actionsRafael França2017-08-111-0/+6
|\ | | | | Eager load controller actions to reduce response time of the first request
| * Eager load controller and mailer actionsKir Shatrov2017-07-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | On the first request, ActionController::Base#action_methods computes and memoized the list of available actions [1]. With this PR we move this expensive operation into eager load step to reduce response time of the first request served in production. This also reduces the memory footprint when running on forking server like Unicorn. [1] https://github.com/rails/rails/blob/a3813dce9a0c950a4af7909111fa730a2622b1db/actionpack/lib/abstract_controller/base.rb#L66-L77
* | Remove outdated comment [ci skip]Youssef Boulkaid2017-08-061-4/+0
|/ | | | | The comment was describing a previous version of the method with a different signature. This is outdated since e76c38e
* Use frozen string literal in actionmailer/Kir Shatrov2017-07-2316-0/+32
|
* [Action Mailer] require => require_relativeAkira Matsuda2017-07-011-3/+3
|
* Fix formatting of `ActionMailer::MessageDelivery` doc [ci skip]Ryuta Kamizono2017-06-161-4/+4
|
* Document setting the delivery_job for ActionMailer [ci skip]Matthew Mongeau2017-06-161-0/+16
|
* Allow mailers to configure their delivery jobMatthew Mongeau2017-06-152-1/+3
| | | | | | | | | | | Setting delivery_job on a mailer class will cause MessageDelivery to use the specified job instead of ActionMailer::DeliveryJob: class MyMailer < ApplicationMailer self.delivery_job = MyCustomDeliveryJob ... end
* Use mattr_accessor default: option throughout the projectGenadi Samokovarov2017-06-032-10/+4
|
* Add option for class_attribute default (#29270)David Heinemeier Hansson2017-05-292-6/+3
| | | | | | | | | | | | * Allow a default value to be declared for class_attribute * Convert to using class_attribute default rather than explicit setter * Removed instance_accessor option by mistake * False is a valid default value * Documentation
* Merge pull request #28244 from ixti/improve/action-mailer-preview-paramsRafael França2017-04-261-2/+8
|\ | | | | Pass request params to ActionMailer::Preview
| * Pass request params to ActionMailer::PreviewAlexey Zapparov2017-03-011-2/+8
| |
* | Start Rails 5.2 developmentMatthew Draper2017-03-221-2/+2
| |
* | Document using `default_url_options` in an ActionMailer class.Krzysztof Zych2017-03-081-0/+3
|/
* Preparing for 5.1.0.beta1 releaseRafael Mendonça França2017-02-231-1/+1
|
* Freeze fragment cache related instrument name.Stan Lo2017-02-071-1/+1
| | | | | | | | | | | | | ActionMailer::Base#instrument_name and ActionController::Base#instrument_name will be frequently called once caching is enabled. So it's better to freeze them instead of create new string on every call. Also, the instrument name in #instrument_fragment_cache will usually be "write_fragment.action_controller" or "read_fragment.action_controller". So freezing them might also gain some performance improvement. We have done something like this in other places: https://github.com/rails/rails/blob/master/actionview/lib/action_view/template.rb#L348
* Add `:args` to `process.action_mailer` eventyuuji.yaginuma2017-02-041-1/+2
|
* Don't mutate raw_source in mailer preview interceptorEugene Kenny2017-01-301-5/+1
| | | | | | | | The raw_source method is documented as returning the exact value that was used to create the body; mutating it breaks that contract. Additionally, if the value used to create the body is blank, raw_source returns a frozen string which causes the interceptor to raise an error.
* add default value to `deliver_later_queue_name` option [ci skip]yuuji.yaginuma2017-01-311-1/+1
|
* Document with with an example an link to ParameterizedRafael Mendonça França2017-01-301-1/+6
| | | | | Also change the class_methods to ClassMethods since the former document the method as an instance method of Parameterized not as a class method.
* :scissors:Rafael Mendonça França2017-01-301-1/+1
|
* No need to advertise in the rdoc documentationRafael Mendonça França2017-01-301-3/+0
|
* Implement respond_to_missing? in the Parameterized::Mailer classRafael Mendonça França2017-01-301-6/+11
|
* Remove unneeded nodocRafael Mendonça França2017-01-301-1/+1
|
* Override the initializers instead of using tapRafael Mendonça França2017-01-301-3/+6
| | | | We own the class so we can override the initialize.
* Make internal classes internal for the documentationRafael Mendonça França2017-01-301-2/+2
|
* Make assert_enqueued_emails + assert_no_enqueued_emails consider ↵David Heinemeier Hansson2017-01-301-2/+2
| | | | | | parameterized delivery jobs Needed for testing of parameterized mailers
* [ci skip] other -> order; expand ivarKasper Timm Hansen2017-01-281-1/+2
|
* Offer the option to use parameterization for shared processing of headers ↵David Heinemeier Hansson2017-01-282-7/+147
| | | | | and ivars (#27825) Offer the option to use parameterization for shared processing of headers and ivars
* ZOMG worst typo in my life :scream:Akira Matsuda2017-01-151-1/+1
|
* `respond_to_missing?` should fallback to `super` where method_missing could ↵Akira Matsuda2017-01-151-1/+1
| | | | call `super`
* Reduce string objects by using \ instead of + or << for concatenating stringsAkira Matsuda2017-01-121-2/+2
| | | | (I personally prefer writing one string in one line no matter how long it is, though)
* Merge pull request #27227 from MQuy/allow-custom-content-type-in-mail-bodyRafael Mendonça França2017-01-061-4/+21
|\ | | | | | | Allow to custom content type when setting mailer body
| * Remove unnecessary condition in content_typeMQuy2017-01-061-1/+1
| |
| * Add document in mailerMQuy2016-12-061-0/+13
| |
| * allow context type when set body mailMQuy2016-11-301-4/+8
| |
* | `self.` is not needed when calling its own instance methodAkira Matsuda2017-01-053-3/+3
| | | | | | | | Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
* | Privatize unneededly protected methods in Action MailerAkira Matsuda2016-12-243-24/+18
| |
* | No need to nodoc private methodAkira Matsuda2016-12-241-1/+1
|/
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-295-10/+10
|
* Fix broken comments indentation caused by rubocop auto-correct [ci skip]Ryuta Kamizono2016-09-141-15/+15
| | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But comments was still kept absolute position. This commit aligns comments with method definitions for consistency.
* RuboCop is 100% green :tada:Xavier Noria2016-09-021-4/+5
|
* Add load hooks to all tests classesRafael Mendonça França2016-08-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Usually users extends tests classes doing something like: ActionView::TestCase.include MyCustomTestHelpers This is bad because it will load the ActionView::TestCase right aways and this will load ActionController::Base making its on_load hooks to execute early than it should. One way to fix this is using the on_load hooks of the components like: ActiveSupport.on_load(:action_view) do ActionView::TestCase.include MyCustomTestHelpers end The problem with this approach is that the test extension will be only load when ActionView::Base is loaded and this may happen too late in the test. To fix this we are adding hooks to people extend the test classes that will be loaded exactly when the test classes are needed.