mandrill_mailer 1.1.0 → 1.2.0
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/CHANGELOG.md +5 -0
- data/README.md +6 -3
- data/lib/mandrill_mailer.rb +1 -0
- data/lib/mandrill_mailer/core_mailer.rb +8 -1
- data/lib/mandrill_mailer/mandrill_message_later.rb +15 -0
- data/lib/mandrill_mailer/mandrill_template_later.rb +17 -0
- data/lib/mandrill_mailer/message_mailer.rb +10 -2
- data/lib/mandrill_mailer/offline.rb +29 -0
- data/lib/mandrill_mailer/template_mailer.rb +9 -0
- data/lib/mandrill_mailer/version.rb +1 -1
- data/mandrill_mailer.gemspec +1 -0
- data/spec/message_mailer_spec.rb +24 -2
- data/spec/template_mailer_spec.rb +29 -2
- metadata +19 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a1044b6baf3d9a8f33f1cc09f86516c21d5228c4
         | 
| 4 | 
            +
              data.tar.gz: ae3a798dacfe9294991ee3beb3755665558c26ea
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 532a82b1c66cb927f5e36734c9fe7ec39ac040d4e976c15f3b76829745f36dee8255d48636b71b75c12b0d7497703a04a2cb74db4c29efb2f10e76221b88d24d
         | 
| 7 | 
            +
              data.tar.gz: bb9e61792cffe0179339659bfdde72f87237bafe5097a4193646ffc018a309017b331ba39196b3d7938dae52bdb872d47b75e1212d0bf8f4b140619b00dbe361
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,6 +2,11 @@ | |
| 2 2 | 
             
            All notable changes to this project will be documented in this file.
         | 
| 3 3 | 
             
            This project adheres to [Semantic Versioning](http://semver.org/).
         | 
| 4 4 |  | 
| 5 | 
            +
            ## 1.2.0 - 2015-12-22
         | 
| 6 | 
            +
            ### Added
         | 
| 7 | 
            +
            - Support for for deliver_later and deliver_now using ActiveJob. via @BenRuns
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 5 10 | 
             
            ## 1.1.0 - 2015-10-02
         | 
| 6 11 | 
             
            ### Added
         | 
| 7 12 | 
             
            - Optional RSpec helper (`MandrillMailer::RSpecHelper`) with custom matchers
         | 
    
        data/README.md
    CHANGED
    
    | @@ -39,6 +39,7 @@ ActionMailer::Base.delivery_method = :smtp | |
| 39 39 |  | 
| 40 40 | 
             
            MandrillMailer.configure do |config|
         | 
| 41 41 | 
             
              config.api_key = ENV['MANDRILL_API_KEY']
         | 
| 42 | 
            +
              config.config.deliver_later_queue_name = :default
         | 
| 42 43 | 
             
            end
         | 
| 43 44 | 
             
            ```
         | 
| 44 45 |  | 
| @@ -97,10 +98,10 @@ end | |
| 97 98 | 
             
            ```
         | 
| 98 99 |  | 
| 99 100 | 
             
            * `#default:`
         | 
| 100 | 
            -
              * `:from` - set the default from email address for the mailer
         | 
| 101 | 
            +
              * `:from` - set the default from email address for the mailer.  Defaults to `'example@email.com'`.
         | 
| 101 102 | 
             
              * `:from_name` - set the default from name for the mailer. If not set, defaults to from email address. Setting :from_name in the .mandrill_mail overrides the default.
         | 
| 102 103 | 
             
              * `:merge_vars` - set some default `merge_vars` that will be sent with every mailer method (in `global_merge_vars` so there's no risk of collision with method-specific `merge_vars`.
         | 
| 103 | 
            -
              * `:view_content_link` - set a default to be able to access individual mailer messages in the Mandrill dashboard
         | 
| 104 | 
            +
              * `:view_content_link` - set a default to be able to access individual mailer messages in the Mandrill dashboard. Defaults to `false`.
         | 
| 104 105 |  | 
| 105 106 | 
             
            * `.mandrill_mail`
         | 
| 106 107 | 
             
               * `:template`(required) - Template slug from within Mandrill (for backwards-compatibility, the template name may also be used but the immutable slug is preferred)
         | 
| @@ -216,7 +217,9 @@ end | |
| 216 217 |  | 
| 217 218 | 
             
            You can send the email by using the familiar syntax:
         | 
| 218 219 |  | 
| 219 | 
            -
            `InvitationMailer.invite(invitation). | 
| 220 | 
            +
            `InvitationMailer.invite(invitation).deliver_now`
         | 
| 221 | 
            +
            `InvitationMailer.invite(invitation).deliver_later(wait: 1.hour)`
         | 
| 222 | 
            +
            For deliver_later, Active Job will need to be configured 
         | 
| 220 223 |  | 
| 221 224 | 
             
            ## Creating a test method
         | 
| 222 225 | 
             
            When switching over to Mandrill for transactional emails we found that it was hard to setup a mailer in the console to send test emails easily (those darn designers), but really, you don't want to have to setup test objects everytime you want to send a test email. You can set up a testing 'mock' once and then call the `.test` method to send the test email.
         | 
    
        data/lib/mandrill_mailer.rb
    CHANGED
    
    
| @@ -216,7 +216,14 @@ module MandrillMailer | |
| 216 216 | 
             
                def deliver
         | 
| 217 217 | 
             
                  raise NotImplementedError.new("#{self.class.name}#deliver is not implemented.")
         | 
| 218 218 | 
             
                end
         | 
| 219 | 
            -
             | 
| 219 | 
            +
                
         | 
| 220 | 
            +
                def deliver_now
         | 
| 221 | 
            +
                  raise NotImplementedError.new("#{self.class.name}#deliver_now is not implemented.")
         | 
| 222 | 
            +
                end
         | 
| 223 | 
            +
                
         | 
| 224 | 
            +
                def deliver_later
         | 
| 225 | 
            +
                  raise NotImplementedError.new("#{self.class.name}#deliver_later is not implemented.")
         | 
| 226 | 
            +
                end
         | 
| 220 227 |  | 
| 221 228 | 
             
                def mandrill_mail_handler(args)
         | 
| 222 229 | 
             
                  args
         | 
| @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            require 'mandrill_mailer/message_mailer'
         | 
| 2 | 
            +
            module MandrillMailer
         | 
| 3 | 
            +
              class MandrillMessageJob < ActiveJob::Base
         | 
| 4 | 
            +
                queue_as { MandrillMailer.config.deliver_later_queue_name }
         | 
| 5 | 
            +
             
         | 
| 6 | 
            +
                def perform(message, async, ip_pool, send_at)
         | 
| 7 | 
            +
                  mailer = MandrillMailer::MessageMailer.new
         | 
| 8 | 
            +
                  mailer.message = message
         | 
| 9 | 
            +
                  mailer.async = async
         | 
| 10 | 
            +
                  mailer.ip_pool = ip_pool 
         | 
| 11 | 
            +
                  mailer.send_at = send_at
         | 
| 12 | 
            +
                  mailer.deliver_now
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
            end
         | 
| @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            require 'mandrill_mailer/template_mailer'
         | 
| 2 | 
            +
            module MandrillMailer
         | 
| 3 | 
            +
              class MandrillTemplateJob < ActiveJob::Base
         | 
| 4 | 
            +
                queue_as { MandrillMailer.config.deliver_later_queue_name }
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                def perform(template_name, template_content, message, async, ip_pool, send_at)
         | 
| 7 | 
            +
                  mailer = MandrillMailer::TemplateMailer.new
         | 
| 8 | 
            +
                  mailer.template_name = template_name
         | 
| 9 | 
            +
                  mailer.template_content = template_content
         | 
| 10 | 
            +
                  mailer.message = message
         | 
| 11 | 
            +
                  mailer.async = async
         | 
| 12 | 
            +
                  mailer.ip_pool = ip_pool 
         | 
| 13 | 
            +
                  mailer.send_at = send_at
         | 
| 14 | 
            +
                  mailer.deliver_now
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            end
         | 
| @@ -92,12 +92,20 @@ | |
| 92 92 |  | 
| 93 93 | 
             
            # :important - whether or not this message is important, and should be delivered ahead of non-important messages
         | 
| 94 94 | 
             
            require 'mandrill_mailer/core_mailer'
         | 
| 95 | 
            -
             | 
| 95 | 
            +
            require 'mandrill_mailer/mandrill_message_later'
         | 
| 96 96 | 
             
            module MandrillMailer
         | 
| 97 97 | 
             
              class MessageMailer < MandrillMailer::CoreMailer
         | 
| 98 98 | 
             
                # Public: Triggers the stored Mandrill params to be sent to the Mandrill api
         | 
| 99 99 | 
             
                def deliver
         | 
| 100 | 
            +
                  deliver_now
         | 
| 101 | 
            +
                end
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                def deliver_now
         | 
| 100 104 | 
             
                  mandrill_api.messages.send(message, async, ip_pool, send_at)
         | 
| 101 | 
            -
                end
         | 
| 105 | 
            +
                end
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                def deliver_later(options={})
         | 
| 108 | 
            +
                  MandrillMailer::MandrillMessageJob.set(options).perform_later(message, async, ip_pool, send_at)
         | 
| 109 | 
            +
                end
         | 
| 102 110 | 
             
              end
         | 
| 103 111 | 
             
            end
         | 
| @@ -27,6 +27,22 @@ module MandrillMailer | |
| 27 27 |  | 
| 28 28 | 
             
              class TemplateMailer
         | 
| 29 29 | 
             
                def deliver
         | 
| 30 | 
            +
                  deliver_now
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
                
         | 
| 33 | 
            +
                def deliver_now
         | 
| 34 | 
            +
                  MandrillMailer::Mock.new({
         | 
| 35 | 
            +
                    :template_name    => template_name,
         | 
| 36 | 
            +
                    :template_content => template_content,
         | 
| 37 | 
            +
                    :message          => message,
         | 
| 38 | 
            +
                    :async            => async,
         | 
| 39 | 
            +
                    :ip_pool          => ip_pool,
         | 
| 40 | 
            +
                    :send_at          => send_at
         | 
| 41 | 
            +
                  }).tap do |mock|
         | 
| 42 | 
            +
                     MandrillMailer.deliveries << mock
         | 
| 43 | 
            +
                  end
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
                def deliver_later
         | 
| 30 46 | 
             
                  MandrillMailer::Mock.new({
         | 
| 31 47 | 
             
                    :template_name    => template_name,
         | 
| 32 48 | 
             
                    :template_content => template_content,
         | 
| @@ -42,6 +58,19 @@ module MandrillMailer | |
| 42 58 |  | 
| 43 59 | 
             
              class MessageMailer
         | 
| 44 60 | 
             
                def deliver
         | 
| 61 | 
            +
                  deliver_now
         | 
| 62 | 
            +
                end
         | 
| 63 | 
            +
                def deliver_now
         | 
| 64 | 
            +
                  MandrillMailer::Mock.new({
         | 
| 65 | 
            +
                    :message          => message,
         | 
| 66 | 
            +
                    :async            => async,
         | 
| 67 | 
            +
                    :ip_pool          => ip_pool,
         | 
| 68 | 
            +
                    :send_at          => send_at
         | 
| 69 | 
            +
                  }).tap do |mock|
         | 
| 70 | 
            +
                     MandrillMailer.deliveries << mock
         | 
| 71 | 
            +
                  end
         | 
| 72 | 
            +
                end
         | 
| 73 | 
            +
                def deliver_later
         | 
| 45 74 | 
             
                  MandrillMailer::Mock.new({
         | 
| 46 75 | 
             
                    :message          => message,
         | 
| 47 76 | 
             
                    :async            => async,
         | 
| @@ -106,6 +106,7 @@ | |
| 106 106 | 
             
            # :important - whether or not this message is important, and should be delivered ahead of non-important messages
         | 
| 107 107 | 
             
            require 'mandrill_mailer/core_mailer'
         | 
| 108 108 | 
             
            require 'mandrill_mailer/arg_formatter'
         | 
| 109 | 
            +
            require 'mandrill_mailer/mandrill_template_later'
         | 
| 109 110 |  | 
| 110 111 | 
             
            module MandrillMailer
         | 
| 111 112 | 
             
              class TemplateMailer < MandrillMailer::CoreMailer
         | 
| @@ -118,9 +119,17 @@ module MandrillMailer | |
| 118 119 |  | 
| 119 120 | 
             
                # Public: Triggers the stored Mandrill params to be sent to the Mandrill api
         | 
| 120 121 | 
             
                def deliver
         | 
| 122 | 
            +
                  deliver_now
         | 
| 123 | 
            +
                end
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                def deliver_now
         | 
| 121 126 | 
             
                  mandrill_api.messages.send_template(template_name, template_content, message, async, ip_pool, send_at)
         | 
| 122 127 | 
             
                end
         | 
| 123 128 |  | 
| 129 | 
            +
                def deliver_later(options={})
         | 
| 130 | 
            +
                  MandrillMailer::MandrillTemplateJob.set(options).perform_later(template_name, template_content, message, async, ip_pool, send_at)
         | 
| 131 | 
            +
                end
         | 
| 132 | 
            +
             | 
| 124 133 | 
             
                # Handle template mailer specifics before formating the given args
         | 
| 125 134 | 
             
                def mandrill_mail_handler(args)
         | 
| 126 135 | 
             
                  # Mandrill requires template content to be there, set default value
         | 
    
        data/mandrill_mailer.gemspec
    CHANGED
    
    
    
        data/spec/message_mailer_spec.rb
    CHANGED
    
    | @@ -8,20 +8,42 @@ describe MandrillMailer::MessageMailer do | |
| 8 8 | 
             
                MandrillMailer.config.api_key = api_key
         | 
| 9 9 | 
             
              end
         | 
| 10 10 |  | 
| 11 | 
            -
              describe "# | 
| 11 | 
            +
              describe "#deliver_now" do
         | 
| 12 12 | 
             
                let(:async) { double(:async) }
         | 
| 13 13 | 
             
                let(:ip_pool) { double(:ip_pool) }
         | 
| 14 14 | 
             
                let(:send_at) { double(:send_at) }
         | 
| 15 15 | 
             
                let(:message) { double(:message) }
         | 
| 16 16 |  | 
| 17 | 
            -
                 | 
| 17 | 
            +
                before do 
         | 
| 18 18 | 
             
                  mailer.async = async
         | 
| 19 19 | 
             
                  mailer.ip_pool = ip_pool
         | 
| 20 20 | 
             
                  mailer.send_at = send_at
         | 
| 21 21 | 
             
                  mailer.message = message
         | 
| 22 | 
            +
                end
         | 
| 22 23 |  | 
| 24 | 
            +
                it "calls the messages api with #send" do
         | 
| 25 | 
            +
                  expect_any_instance_of(Mandrill::Messages).to receive(:send).with(message, async, ip_pool, send_at)
         | 
| 26 | 
            +
                  mailer.deliver_now
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
                it "has an alias deliver" do
         | 
| 23 29 | 
             
                  expect_any_instance_of(Mandrill::Messages).to receive(:send).with(message, async, ip_pool, send_at)
         | 
| 24 30 | 
             
                  mailer.deliver
         | 
| 25 31 | 
             
                end
         | 
| 26 32 | 
             
              end
         | 
| 33 | 
            +
              describe "#deliver_later" do
         | 
| 34 | 
            +
                let(:async) { 'async' }
         | 
| 35 | 
            +
                let(:ip_pool) { 'ip_pool' }
         | 
| 36 | 
            +
                let(:send_at) { 'send_at'}
         | 
| 37 | 
            +
                let(:message) { 'this is a message'}
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                it "calls the messages api with #send" do
         | 
| 40 | 
            +
                  mailer.async = async
         | 
| 41 | 
            +
                  mailer.ip_pool = ip_pool
         | 
| 42 | 
            +
                  mailer.send_at = send_at
         | 
| 43 | 
            +
                  mailer.message = message
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                  expect_any_instance_of(Mandrill::Messages).to receive(:send).with(message, async, ip_pool, send_at)
         | 
| 46 | 
            +
                  mailer.deliver_later
         | 
| 47 | 
            +
                end
         | 
| 48 | 
            +
              end
         | 
| 27 49 | 
             
            end
         | 
| @@ -30,7 +30,7 @@ describe MandrillMailer::TemplateMailer do | |
| 30 30 | 
             
                end
         | 
| 31 31 | 
             
              end
         | 
| 32 32 |  | 
| 33 | 
            -
              describe "# | 
| 33 | 
            +
              describe "#deliver_now" do
         | 
| 34 34 | 
             
                let(:async) { double(:async) }
         | 
| 35 35 | 
             
                let(:ip_pool) { double(:ip_pool) }
         | 
| 36 36 | 
             
                let(:send_at) { double(:send_at) }
         | 
| @@ -38,16 +38,43 @@ describe MandrillMailer::TemplateMailer do | |
| 38 38 | 
             
                let(:template_name) { double(:template_name) }
         | 
| 39 39 | 
             
                let(:template_content) { double(:template_content) }
         | 
| 40 40 |  | 
| 41 | 
            -
                 | 
| 41 | 
            +
                before do
         | 
| 42 42 | 
             
                  mailer.async = async
         | 
| 43 43 | 
             
                  mailer.ip_pool = ip_pool
         | 
| 44 44 | 
             
                  mailer.send_at = send_at
         | 
| 45 45 | 
             
                  mailer.message = message
         | 
| 46 46 | 
             
                  mailer.template_content = template_content
         | 
| 47 47 | 
             
                  mailer.template_name = template_name
         | 
| 48 | 
            +
                end
         | 
| 48 49 |  | 
| 50 | 
            +
                it "calls the messages api with #send_template" do
         | 
| 51 | 
            +
                  expect_any_instance_of(Mandrill::Messages).to receive(:send_template).with(template_name, template_content, message, async, ip_pool, send_at)
         | 
| 52 | 
            +
                  mailer.deliver_now
         | 
| 53 | 
            +
                end
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                it "has an alias deliver" do
         | 
| 49 56 | 
             
                  expect_any_instance_of(Mandrill::Messages).to receive(:send_template).with(template_name, template_content, message, async, ip_pool, send_at)
         | 
| 50 57 | 
             
                  mailer.deliver
         | 
| 51 58 | 
             
                end
         | 
| 52 59 | 
             
              end
         | 
| 60 | 
            +
              describe "#deliver_later" do
         | 
| 61 | 
            +
                let(:async) { false }
         | 
| 62 | 
            +
                let(:ip_pool) { 1 }
         | 
| 63 | 
            +
                let(:send_at) { '100'}
         | 
| 64 | 
            +
                let(:message) { 'message' }
         | 
| 65 | 
            +
                let(:template_name) { 'fake_template' }
         | 
| 66 | 
            +
                let(:template_content) { 'content' }
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                it "calls the messages api with #send_template" do
         | 
| 69 | 
            +
                  mailer.async = async
         | 
| 70 | 
            +
                  mailer.ip_pool = ip_pool
         | 
| 71 | 
            +
                  mailer.send_at = send_at
         | 
| 72 | 
            +
                  mailer.message = message
         | 
| 73 | 
            +
                  mailer.template_content = template_content
         | 
| 74 | 
            +
                  mailer.template_name = template_name
         | 
| 75 | 
            +
             | 
| 76 | 
            +
                  expect_any_instance_of(Mandrill::Messages).to receive(:send_template).with(template_name, template_content, message, async, ip_pool, send_at)
         | 
| 77 | 
            +
                  mailer.deliver_later
         | 
| 78 | 
            +
                end
         | 
| 79 | 
            +
              end
         | 
| 53 80 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: mandrill_mailer
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Adam Rensel
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015- | 
| 11 | 
            +
            date: 2015-12-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -38,6 +38,20 @@ dependencies: | |
| 38 38 | 
             
                - - ">="
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: '0'
         | 
| 41 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            +
              name: activejob
         | 
| 43 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            +
                requirements:
         | 
| 45 | 
            +
                - - ">="
         | 
| 46 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            +
                    version: '0'
         | 
| 48 | 
            +
              type: :runtime
         | 
| 49 | 
            +
              prerelease: false
         | 
| 50 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - ">="
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: '0'
         | 
| 41 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 56 | 
             
              name: mandrill-api
         | 
| 43 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -96,6 +110,8 @@ files: | |
| 96 110 | 
             
            - lib/mandrill_mailer.rb
         | 
| 97 111 | 
             
            - lib/mandrill_mailer/arg_formatter.rb
         | 
| 98 112 | 
             
            - lib/mandrill_mailer/core_mailer.rb
         | 
| 113 | 
            +
            - lib/mandrill_mailer/mandrill_message_later.rb
         | 
| 114 | 
            +
            - lib/mandrill_mailer/mandrill_template_later.rb
         | 
| 99 115 | 
             
            - lib/mandrill_mailer/message_mailer.rb
         | 
| 100 116 | 
             
            - lib/mandrill_mailer/mock.rb
         | 
| 101 117 | 
             
            - lib/mandrill_mailer/offline.rb
         | 
| @@ -137,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 137 153 | 
             
                  version: '0'
         | 
| 138 154 | 
             
            requirements: []
         | 
| 139 155 | 
             
            rubyforge_project: 
         | 
| 140 | 
            -
            rubygems_version: 2.4. | 
| 156 | 
            +
            rubygems_version: 2.4.5.1
         | 
| 141 157 | 
             
            signing_key: 
         | 
| 142 158 | 
             
            specification_version: 4
         | 
| 143 159 | 
             
            summary: Transactional Mailer for Mandrill
         |