maily 0.8.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 1be32b551c09f9ca96abddb409bc9ff934f103e8
4
- data.tar.gz: a7598102cb671f6025b50c66f1c377a7bcb0f694
2
+ SHA256:
3
+ metadata.gz: 2d25ed66b110f246b500c8c63d8d7648518d22949cfd76e6664a6c233310d0c6
4
+ data.tar.gz: 7c32d79ef886352180368a8a9a9c8163f35f72f7494ecab37f0b53c2a43512aa
5
5
  SHA512:
6
- metadata.gz: d54b8abd1ad461fdd8ee73ea9676fd960a44a5464f496c6761af17cae85318bdd3d05d5a34afde59c504911d2cb730c41f219888e56fd61c3ea51ea1c1f1c41c
7
- data.tar.gz: fff93554b22801786eb9b24b21bbbfd756d6019d079e725517ba357df1cb94427b679bb0590b6fc7e22e7b109b4001d646296b5f21608d41a859159b1fcf0d9f
6
+ metadata.gz: cb919cb4b0d387c7463b1ba8b9615e490c90d5ee619b2fd525d313f8ade607d0ea02f95551e76c1dc069733ffd5c962ff553da9346fbe9497cef31a266141236
7
+ data.tar.gz: f3c63ae889fd4c6a125edc09ad29a003eccbd253fd5bb8146dd37e302584c609792a364f13150e5567287093c7178e9f1bdcb77c7449f34ef505eeac6712b80b
@@ -1,22 +1,16 @@
1
1
  language: ruby
2
-
3
2
  cache: bundler
4
-
5
- sudo: false
6
-
7
3
  rvm:
8
4
  - ruby-head
5
+ - 2.6.0
9
6
  - 2.5.3
10
7
  - 2.4.5
11
8
  - 2.3.8
12
- - 2.2.10
13
-
14
9
  gemfile:
15
10
  - gemfiles/rails_5.2.gemfile
16
11
  - gemfiles/rails_5.1.gemfile
17
12
  - gemfiles/rails_5.0.gemfile
18
13
  - gemfiles/rails_4.2.gemfile
19
-
20
14
  matrix:
21
15
  allow_failures:
22
- - rvm: ruby-head
16
+ - rvm: ruby-head
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [0.9.0]
6
+
7
+ - Allow to register external mailers, for example, from a gem
8
+ - CI Rubies: add 2.6 and drop 2.2 (EOL)
9
+
10
+ ## [0.8.2]
11
+
12
+ - Fix incompatibility with last gem `mail` (v2.7.1) release (#32)
13
+
5
14
  ## [0.8.1]
6
15
 
7
16
  - Serve fonts from Google Fonts API
@@ -94,6 +103,8 @@ All notable changes to this project will be documented in this file.
94
103
 
95
104
  - First real usable release :tada:
96
105
 
106
+ [0.9.0]: https://github.com/markets/maily/compare/v0.8.2...v0.9.0
107
+ [0.8.2]: https://github.com/markets/maily/compare/v0.8.1...v0.8.2
97
108
  [0.8.1]: https://github.com/markets/maily/compare/v0.8.0...v0.8.1
98
109
  [0.8.0]: https://github.com/markets/maily/compare/v0.7.2...v0.8.0
99
110
  [0.7.2]: https://github.com/markets/maily/compare/v0.7.1...v0.7.2
@@ -1,4 +1,4 @@
1
- Copyright 2013-2018 Marc Anguera Insa
1
+ Copyright 2013-2019 Marc Anguera Insa
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Maily
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/maily.svg)](http://badge.fury.io/rb/maily)
3
+ [![Gem](https://img.shields.io/gem/v/maily.svg?style=flat-square)](https://rubygems.org/gems/maily)
4
4
  [![Build Status](https://travis-ci.org/markets/maily.svg?branch=master)](https://travis-ci.org/markets/maily)
5
5
  [![Maintainability](https://api.codeclimate.com/v1/badges/fff01b2137fd73070b14/maintainability)](https://codeclimate.com/github/markets/maily/maintainability)
6
6
 
@@ -139,6 +139,20 @@ Maily.hooks_for('Notifier') do |mailer|
139
139
  end
140
140
  ```
141
141
 
142
+ ### External emails
143
+
144
+ If you want to register and display in the UI, emails from external sources, like for example a gem, you can do it by adding a hook. Example:
145
+
146
+ ```ruby
147
+ Maily.hooks_for('Devise::Mailer') do |mailer|
148
+ mailer.hide_email(:unlock_instructions)
149
+
150
+ mailer.register_hook(:reset_password_instructions, user, 'random_token')
151
+ mailer.register_hook(:confirmation_instructions, user, 'random_token')
152
+ mailer.register_hook(:password_change, user)
153
+ end
154
+ ```
155
+
142
156
  ## Authorization
143
157
 
144
158
  Basically, you have 2 ways to restrict access to the `Maily` section. You can even combine both.
@@ -33,8 +33,8 @@ module Maily
33
33
  end
34
34
 
35
35
  def hooks_for(mailer_name)
36
- mailer = Maily::Mailer.find(mailer_name.underscore)
37
- return unless mailer
36
+ mailer_name = mailer_name.underscore
37
+ mailer = Maily::Mailer.find(mailer_name) || Maily::Mailer.new(mailer_name)
38
38
 
39
39
  yield(mailer) if block_given?
40
40
  end
@@ -1,3 +1,3 @@
1
1
  module Maily
2
- VERSION = "0.8.2"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -26,4 +26,17 @@ describe Maily do
26
26
  expect(Maily.allowed_action?(:deliver)).to be false
27
27
  end
28
28
  end
29
+
30
+ describe '#hooks_for' do
31
+ it "allows to register external hooks" do
32
+ class ExternalMailer < ActionMailer::Base
33
+ def external_email
34
+ end
35
+ end
36
+
37
+ Maily.hooks_for('ExternalMailer')
38
+
39
+ expect(Maily::Mailer.find('external_mailer').emails.count).to eq 1
40
+ end
41
+ end
29
42
  end
@@ -8,3 +8,17 @@ RSpec.configure do |config|
8
8
  config.mock_with :rspec
9
9
  config.order = 'random'
10
10
  end
11
+
12
+ # Rails 4.2 call `initialize` inside `recycle!`. However Ruby 2.6 doesn't allow calling `initialize` twice.
13
+ # More info: https://github.com/rails/rails/issues/34790
14
+ if RUBY_VERSION >= "2.6.0" && Rails.version < "5"
15
+ module ActionController
16
+ class TestResponse < ActionDispatch::TestResponse
17
+ def recycle!
18
+ @mon_mutex_owner_object_id = nil
19
+ @mon_mutex = nil
20
+ initialize
21
+ end
22
+ end
23
+ end
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maily
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - markets
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-20 00:00:00.000000000 Z
11
+ date: 2019-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  requirements: []
203
203
  rubyforge_project:
204
- rubygems_version: 2.6.13
204
+ rubygems_version: 2.7.6
205
205
  signing_key:
206
206
  specification_version: 4
207
207
  summary: Rails Engine to preview emails in the browser.