mail-notify 1.1.0 → 2.0.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/.github/workflows/ci.yml +21 -0
- data/.github/workflows/publish.yml +1 -1
- data/.github/workflows/rails-integration-tests.yml +231 -0
- data/.gitignore +5 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +21 -1
- data/Dockerfile +68 -0
- data/README.md +3 -3
- data/Rakefile +1 -6
- data/{lib/mail/notify → app/views}/layouts/govuk_notify_layout.html.erb +23 -25
- data/bin/console +4 -9
- data/bin/rspec +27 -0
- data/bin/standardrb +27 -0
- data/lib/mail/notify/delivery_method.rb +16 -26
- data/lib/mail/notify/engine.rb +13 -0
- data/lib/mail/notify/mail_notify_preview_interceptor.rb +51 -0
- data/lib/mail/notify/mail_notify_previews_controller.rb +6 -0
- data/lib/mail/notify/mailer.rb +85 -7
- data/lib/mail/notify/message.rb +1 -3
- data/lib/mail/notify/version.rb +1 -1
- data/lib/mail/notify.rb +3 -3
- data/mail-notify.gemspec +17 -13
- data/renovate.json +3 -1
- metadata +81 -49
- data/.coveralls.yml +0 -0
- data/.github/workflows/build.yml +0 -27
- data/lib/mail/notify/mailers_controller.rb +0 -40
- data/lib/mail/notify/personalisation.rb +0 -30
- data/lib/mail/notify/railtie.rb +0 -19
|
@@ -6,20 +6,28 @@ module Mail
|
|
|
6
6
|
attr_accessor :settings, :response
|
|
7
7
|
|
|
8
8
|
def initialize(settings)
|
|
9
|
-
raise ArgumentError, "You must specify
|
|
9
|
+
raise ArgumentError, "You must specify a Notify API key" if settings[:api_key].blank?
|
|
10
10
|
|
|
11
11
|
@settings = settings
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
def deliver!(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
def deliver!(message)
|
|
15
|
+
params = {
|
|
16
|
+
template_id: message.template_id,
|
|
17
|
+
email_address: message.to.first,
|
|
18
|
+
personalisation: message.personalisation,
|
|
19
|
+
email_reply_to_id: message.reply_to_id,
|
|
20
|
+
reference: message.reference
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
client.send_email(params.compact)
|
|
18
24
|
end
|
|
19
25
|
|
|
20
|
-
def preview(
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
def preview(message)
|
|
27
|
+
template_id = message.template_id
|
|
28
|
+
personalisation = message.personalisation
|
|
29
|
+
|
|
30
|
+
Rails.logger.info("Getting Notify preview for template id #{template_id}")
|
|
23
31
|
client.generate_template_preview(template_id, personalisation: personalisation)
|
|
24
32
|
end
|
|
25
33
|
|
|
@@ -28,24 +36,6 @@ module Mail
|
|
|
28
36
|
def client
|
|
29
37
|
@client ||= Notifications::Client.new(@settings[:api_key], @settings[:base_url])
|
|
30
38
|
end
|
|
31
|
-
|
|
32
|
-
def email_params
|
|
33
|
-
{
|
|
34
|
-
email_address: @mail.to.first,
|
|
35
|
-
template_id: @mail[:template_id].to_s,
|
|
36
|
-
personalisation: @personalisation.to_h,
|
|
37
|
-
email_reply_to_id: optional_param(:reply_to_id),
|
|
38
|
-
reference: optional_param(:reference)
|
|
39
|
-
}
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def optional_param(name)
|
|
43
|
-
@mail[name].presence&.to_s
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def send_email
|
|
47
|
-
@response = client.send_email(email_params.compact)
|
|
48
|
-
end
|
|
49
39
|
end
|
|
50
40
|
end
|
|
51
41
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mail
|
|
4
|
+
module Notify
|
|
5
|
+
class Engine < Rails::Engine
|
|
6
|
+
initializer "mail-notify.add_delivery_method", before: "action_mailer.set_configs" do
|
|
7
|
+
ActionMailer::Base.add_delivery_method(:notify, Mail::Notify::DeliveryMethod)
|
|
8
|
+
|
|
9
|
+
config.action_mailer.preview_interceptors = [:mail_notify_preview_interceptor]
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
##
|
|
4
|
+
# This is a ActionMailer interceptor class for previews from the Notifications API
|
|
5
|
+
#
|
|
6
|
+
# See ActionMailer::Base:
|
|
7
|
+
#
|
|
8
|
+
# https://github.com/rails/rails/blob/v5.2.8.1/actionmailer/lib/action_mailer/base.rb#L367
|
|
9
|
+
|
|
10
|
+
class MailNotifyPreviewInterceptor
|
|
11
|
+
##
|
|
12
|
+
# ActionMailer call back when a preview is being generated.
|
|
13
|
+
#
|
|
14
|
+
# Transforms the content of the passed in message.
|
|
15
|
+
|
|
16
|
+
def self.previewing_email(message)
|
|
17
|
+
new(message).transform!
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
##
|
|
21
|
+
# Creates a new MailNotifyPreviewInterceptor ready for use.
|
|
22
|
+
|
|
23
|
+
def initialize(message)
|
|
24
|
+
@message = message
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# Transforms the content of the message to that from the Notifications API preview.
|
|
29
|
+
#
|
|
30
|
+
# The html is wrapped in a layout and rendered by the MailNotifyPreviewsControllers renderer.
|
|
31
|
+
|
|
32
|
+
def transform!
|
|
33
|
+
# the messages delivery method will be our Mail::Notify::DeliveryMethod and have the `preview` method.
|
|
34
|
+
preview = @message.delivery_method.preview(@message)
|
|
35
|
+
|
|
36
|
+
@message.subject = preview.subject
|
|
37
|
+
@message.html_part.body = renderer.render html: preview.html.html_safe, layout: "govuk_notify_layout"
|
|
38
|
+
@message.text_part.body = preview.body
|
|
39
|
+
|
|
40
|
+
@message
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
private
|
|
44
|
+
|
|
45
|
+
def renderer
|
|
46
|
+
# rendering in Rails without a controller gets far too complicated, instead
|
|
47
|
+
# we rely on this empty controller to do it for us.
|
|
48
|
+
|
|
49
|
+
MailNotifyPreviewsController.renderer
|
|
50
|
+
end
|
|
51
|
+
end
|
data/lib/mail/notify/mailer.rb
CHANGED
|
@@ -2,21 +2,99 @@
|
|
|
2
2
|
|
|
3
3
|
module Mail
|
|
4
4
|
module Notify
|
|
5
|
+
##
|
|
6
|
+
# The Mail Notify base Mailer class, overridden in Rails applications to provide the additional
|
|
7
|
+
# Notify behaviour along with the application behaviour.
|
|
8
|
+
|
|
5
9
|
class Mailer < ActionMailer::Base
|
|
6
|
-
|
|
7
|
-
|
|
10
|
+
##
|
|
11
|
+
# Set a default from address, will only be used in previews if a from address is not supplied
|
|
12
|
+
# by subclasses
|
|
13
|
+
|
|
14
|
+
default from: "preview@notifications.service.gov.uk"
|
|
15
|
+
|
|
16
|
+
##
|
|
17
|
+
# Send an email where the content is managed in the Notify template.
|
|
18
|
+
#
|
|
19
|
+
# The required arguments are:
|
|
20
|
+
#
|
|
21
|
+
# - template_id
|
|
22
|
+
# - to address
|
|
23
|
+
#
|
|
24
|
+
# Can include personalisation.
|
|
25
|
+
#
|
|
26
|
+
# Add any additional headers in the options hash.
|
|
27
|
+
#
|
|
28
|
+
# A default subject is supplied as ActionMailer requires one, however it will never be used as
|
|
29
|
+
# the subject is assumed to be managed in the Notify template.
|
|
30
|
+
|
|
31
|
+
def template_mail(template_id, options)
|
|
32
|
+
raise ArgumentError, "You must specify a Notify template ID" if template_id.blank?
|
|
33
|
+
raise ArgumentError, "You must specify a to address" if options[:to].nil? || options[:to].blank?
|
|
34
|
+
|
|
35
|
+
message.template_id = template_id
|
|
36
|
+
message.reply_to_id = options[:reply_to_id]
|
|
37
|
+
message.reference = options[:reference]
|
|
38
|
+
|
|
39
|
+
message.personalisation = options[:personalisation] || {}
|
|
40
|
+
|
|
41
|
+
headers = options.except([:personalisation, :reply_to_id, :reference])
|
|
8
42
|
|
|
9
|
-
|
|
43
|
+
headers[:subject] = "Subject managed in Notify" unless options[:subject]
|
|
44
|
+
|
|
45
|
+
# We have to set the html and the plain text content to nil to prevent Rails from looking
|
|
46
|
+
# for the content in the views. We replace nil with the content returned from Notify before
|
|
47
|
+
# sending or previewing
|
|
48
|
+
mail(headers) do |format|
|
|
49
|
+
format.text { nil }
|
|
50
|
+
format.html { nil }
|
|
51
|
+
end
|
|
10
52
|
end
|
|
11
53
|
|
|
12
|
-
|
|
13
|
-
|
|
54
|
+
##
|
|
55
|
+
# Send an email where the content is managed in the Rails application.
|
|
56
|
+
#
|
|
57
|
+
# The required arguments are:
|
|
58
|
+
#
|
|
59
|
+
# - template_id
|
|
60
|
+
# - to address
|
|
61
|
+
# - subject
|
|
62
|
+
#
|
|
63
|
+
# Personalisation will dropped as all content comes from the view provided by Rails.
|
|
64
|
+
#
|
|
65
|
+
# Add any additional headers in the options hash.
|
|
66
|
+
|
|
67
|
+
def view_mail(template_id, options)
|
|
68
|
+
raise ArgumentError, "You must specify a Notify template ID" if template_id.blank?
|
|
69
|
+
raise ArgumentError, "You must supply a to address" if options[:to].blank?
|
|
70
|
+
raise ArgumentError, "You must specify a subject" if options[:subject].blank?
|
|
71
|
+
|
|
72
|
+
message.template_id = template_id
|
|
73
|
+
message.reply_to_id = options[:reply_to_id]
|
|
74
|
+
message.reference = options[:reference]
|
|
75
|
+
|
|
76
|
+
subject = options[:subject]
|
|
77
|
+
headers = options.except([:personalisation, :reply_to_id, :reference])
|
|
14
78
|
|
|
15
|
-
|
|
79
|
+
# we have to render the view for the message and grab the raw source, then we set that as the
|
|
80
|
+
# body in the personalisation for sending to the Notify API.
|
|
81
|
+
body = mail(headers).body.raw_source
|
|
82
|
+
|
|
83
|
+
# The 'view mail' works by sending a subject and body as personalisation options, these are
|
|
84
|
+
# then used in the Notify template to provide content.
|
|
85
|
+
message.personalisation = {subject: subject, body: body}
|
|
86
|
+
|
|
87
|
+
mail(headers) do |format|
|
|
88
|
+
format.text { nil }
|
|
89
|
+
format.html { nil }
|
|
90
|
+
end
|
|
16
91
|
end
|
|
17
92
|
|
|
93
|
+
##
|
|
94
|
+
# allows blank personalisation options
|
|
95
|
+
|
|
18
96
|
def blank_allowed(value)
|
|
19
|
-
value.
|
|
97
|
+
value.to_s
|
|
20
98
|
end
|
|
21
99
|
end
|
|
22
100
|
end
|
data/lib/mail/notify/message.rb
CHANGED
data/lib/mail/notify/version.rb
CHANGED
data/lib/mail/notify.rb
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
require "notifications/client"
|
|
4
4
|
|
|
5
5
|
require "mail/notify/version"
|
|
6
|
-
require "mail/notify/
|
|
6
|
+
require "mail/notify/engine" if defined? Rails
|
|
7
7
|
require "mail/notify/delivery_method"
|
|
8
|
-
require "mail/notify/personalisation"
|
|
9
8
|
require "mail/notify/mailer"
|
|
10
9
|
require "mail/notify/message"
|
|
11
|
-
require "mail/notify/
|
|
10
|
+
require "mail/notify/mail_notify_previews_controller"
|
|
11
|
+
require "mail/notify/mail_notify_preview_interceptor"
|
|
12
12
|
|
|
13
13
|
Mail::Message.include Mail::Notify::Message
|
|
14
14
|
|
data/mail-notify.gemspec
CHANGED
|
@@ -7,13 +7,15 @@ require "mail/notify/version"
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
8
|
spec.name = "mail-notify"
|
|
9
9
|
spec.version = Mail::Notify::VERSION
|
|
10
|
-
spec.authors = ["Stuart Harrison"]
|
|
10
|
+
spec.authors = ["Stuart Harrison", "Meyric Rawlings"]
|
|
11
11
|
spec.email = ["pezholio@gmail.com"]
|
|
12
12
|
|
|
13
|
-
spec.summary = "
|
|
13
|
+
spec.summary = "Rails plugin, send and preview email with GOV.UK Notify"
|
|
14
14
|
spec.homepage = "https://github.com/dxw/mail-notify"
|
|
15
15
|
spec.license = "MIT"
|
|
16
16
|
|
|
17
|
+
spec.required_ruby_version = ">= 2.7.8"
|
|
18
|
+
|
|
17
19
|
# Specify which files should be added to the gem when it is released.
|
|
18
20
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
19
21
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
@@ -24,19 +26,21 @@ Gem::Specification.new do |spec|
|
|
|
24
26
|
spec.require_paths = ["lib"]
|
|
25
27
|
|
|
26
28
|
spec.add_development_dependency "bundler", "~> 2.0"
|
|
27
|
-
spec.add_development_dependency "
|
|
29
|
+
spec.add_development_dependency "simplecov", "~> 0.21"
|
|
30
|
+
spec.add_development_dependency "simplecov-lcov"
|
|
28
31
|
spec.add_development_dependency "pry", "~> 0.14.1"
|
|
29
|
-
spec.add_development_dependency "rails", "
|
|
30
|
-
spec.add_development_dependency "rake", "~> 13.
|
|
32
|
+
spec.add_development_dependency "rails", "7.0.8"
|
|
33
|
+
spec.add_development_dependency "rake", "~> 13.2.1"
|
|
31
34
|
spec.add_development_dependency "rspec-rails", "~> 5.1"
|
|
32
|
-
spec.add_development_dependency "standard", "1
|
|
33
|
-
spec.add_development_dependency "sqlite3", "~> 1.
|
|
34
|
-
spec.add_development_dependency "webmock", "~> 3.
|
|
35
|
+
spec.add_development_dependency "standard", "~> 1"
|
|
36
|
+
spec.add_development_dependency "sqlite3", "~> 1.7.2"
|
|
37
|
+
spec.add_development_dependency "webmock", "~> 3.23.0"
|
|
38
|
+
spec.add_development_dependency "rspec-mocks", "~> 3.13.0"
|
|
35
39
|
|
|
36
|
-
spec.add_dependency "actionmailer", ">= 5.2.4.6"
|
|
37
|
-
spec.add_dependency "activesupport", ">= 5.2.4.6"
|
|
38
|
-
spec.add_dependency "actionpack", ">= 5.2.7.1"
|
|
39
|
-
spec.add_dependency "actionview", ">= 5.2.7.1"
|
|
40
|
-
spec.add_dependency "notifications-ruby-client", "~> 5.1"
|
|
41
40
|
spec.add_dependency "rack", ">= 2.1.4.1"
|
|
41
|
+
spec.add_dependency "actionmailer", ">= 5.2.8.1"
|
|
42
|
+
spec.add_dependency "activesupport", ">= 5.2.8.1"
|
|
43
|
+
spec.add_dependency "actionpack", ">= 5.2.8.1"
|
|
44
|
+
spec.add_dependency "actionview", ">= 5.2.8.1"
|
|
45
|
+
spec.add_dependency "notifications-ruby-client", "~> 6.0"
|
|
42
46
|
end
|
data/renovate.json
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mail-notify
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stuart Harrison
|
|
8
|
+
- Meyric Rawlings
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: exe
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2024-04-23 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: bundler
|
|
@@ -25,19 +26,33 @@ dependencies:
|
|
|
25
26
|
- !ruby/object:Gem::Version
|
|
26
27
|
version: '2.0'
|
|
27
28
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
29
|
+
name: simplecov
|
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
|
30
31
|
requirements:
|
|
31
32
|
- - "~>"
|
|
32
33
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
34
|
+
version: '0.21'
|
|
34
35
|
type: :development
|
|
35
36
|
prerelease: false
|
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
38
|
requirements:
|
|
38
39
|
- - "~>"
|
|
39
40
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
41
|
+
version: '0.21'
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: simplecov-lcov
|
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '0'
|
|
49
|
+
type: :development
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
41
56
|
- !ruby/object:Gem::Dependency
|
|
42
57
|
name: pry
|
|
43
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -56,30 +71,30 @@ dependencies:
|
|
|
56
71
|
name: rails
|
|
57
72
|
requirement: !ruby/object:Gem::Requirement
|
|
58
73
|
requirements:
|
|
59
|
-
- -
|
|
74
|
+
- - '='
|
|
60
75
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
76
|
+
version: 7.0.8
|
|
62
77
|
type: :development
|
|
63
78
|
prerelease: false
|
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
80
|
requirements:
|
|
66
|
-
- -
|
|
81
|
+
- - '='
|
|
67
82
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
83
|
+
version: 7.0.8
|
|
69
84
|
- !ruby/object:Gem::Dependency
|
|
70
85
|
name: rake
|
|
71
86
|
requirement: !ruby/object:Gem::Requirement
|
|
72
87
|
requirements:
|
|
73
88
|
- - "~>"
|
|
74
89
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 13.
|
|
90
|
+
version: 13.2.1
|
|
76
91
|
type: :development
|
|
77
92
|
prerelease: false
|
|
78
93
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
94
|
requirements:
|
|
80
95
|
- - "~>"
|
|
81
96
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 13.
|
|
97
|
+
version: 13.2.1
|
|
83
98
|
- !ruby/object:Gem::Dependency
|
|
84
99
|
name: rspec-rails
|
|
85
100
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -98,128 +113,142 @@ dependencies:
|
|
|
98
113
|
name: standard
|
|
99
114
|
requirement: !ruby/object:Gem::Requirement
|
|
100
115
|
requirements:
|
|
101
|
-
- -
|
|
116
|
+
- - "~>"
|
|
102
117
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 1
|
|
118
|
+
version: '1'
|
|
104
119
|
type: :development
|
|
105
120
|
prerelease: false
|
|
106
121
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
122
|
requirements:
|
|
108
|
-
- -
|
|
123
|
+
- - "~>"
|
|
109
124
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 1
|
|
125
|
+
version: '1'
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
|
112
127
|
name: sqlite3
|
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
|
114
129
|
requirements:
|
|
115
130
|
- - "~>"
|
|
116
131
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: 1.
|
|
132
|
+
version: 1.7.2
|
|
118
133
|
type: :development
|
|
119
134
|
prerelease: false
|
|
120
135
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
136
|
requirements:
|
|
122
137
|
- - "~>"
|
|
123
138
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: 1.
|
|
139
|
+
version: 1.7.2
|
|
125
140
|
- !ruby/object:Gem::Dependency
|
|
126
141
|
name: webmock
|
|
127
142
|
requirement: !ruby/object:Gem::Requirement
|
|
128
143
|
requirements:
|
|
129
144
|
- - "~>"
|
|
130
145
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 3.
|
|
146
|
+
version: 3.23.0
|
|
132
147
|
type: :development
|
|
133
148
|
prerelease: false
|
|
134
149
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
150
|
requirements:
|
|
136
151
|
- - "~>"
|
|
137
152
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 3.
|
|
153
|
+
version: 3.23.0
|
|
139
154
|
- !ruby/object:Gem::Dependency
|
|
140
|
-
name:
|
|
155
|
+
name: rspec-mocks
|
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
|
157
|
+
requirements:
|
|
158
|
+
- - "~>"
|
|
159
|
+
- !ruby/object:Gem::Version
|
|
160
|
+
version: 3.13.0
|
|
161
|
+
type: :development
|
|
162
|
+
prerelease: false
|
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
164
|
+
requirements:
|
|
165
|
+
- - "~>"
|
|
166
|
+
- !ruby/object:Gem::Version
|
|
167
|
+
version: 3.13.0
|
|
168
|
+
- !ruby/object:Gem::Dependency
|
|
169
|
+
name: rack
|
|
141
170
|
requirement: !ruby/object:Gem::Requirement
|
|
142
171
|
requirements:
|
|
143
172
|
- - ">="
|
|
144
173
|
- !ruby/object:Gem::Version
|
|
145
|
-
version:
|
|
174
|
+
version: 2.1.4.1
|
|
146
175
|
type: :runtime
|
|
147
176
|
prerelease: false
|
|
148
177
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
178
|
requirements:
|
|
150
179
|
- - ">="
|
|
151
180
|
- !ruby/object:Gem::Version
|
|
152
|
-
version:
|
|
181
|
+
version: 2.1.4.1
|
|
153
182
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name:
|
|
183
|
+
name: actionmailer
|
|
155
184
|
requirement: !ruby/object:Gem::Requirement
|
|
156
185
|
requirements:
|
|
157
186
|
- - ">="
|
|
158
187
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 5.2.
|
|
188
|
+
version: 5.2.8.1
|
|
160
189
|
type: :runtime
|
|
161
190
|
prerelease: false
|
|
162
191
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
192
|
requirements:
|
|
164
193
|
- - ">="
|
|
165
194
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 5.2.
|
|
195
|
+
version: 5.2.8.1
|
|
167
196
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
197
|
+
name: activesupport
|
|
169
198
|
requirement: !ruby/object:Gem::Requirement
|
|
170
199
|
requirements:
|
|
171
200
|
- - ">="
|
|
172
201
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: 5.2.
|
|
202
|
+
version: 5.2.8.1
|
|
174
203
|
type: :runtime
|
|
175
204
|
prerelease: false
|
|
176
205
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
206
|
requirements:
|
|
178
207
|
- - ">="
|
|
179
208
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: 5.2.
|
|
209
|
+
version: 5.2.8.1
|
|
181
210
|
- !ruby/object:Gem::Dependency
|
|
182
|
-
name:
|
|
211
|
+
name: actionpack
|
|
183
212
|
requirement: !ruby/object:Gem::Requirement
|
|
184
213
|
requirements:
|
|
185
214
|
- - ">="
|
|
186
215
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 5.2.
|
|
216
|
+
version: 5.2.8.1
|
|
188
217
|
type: :runtime
|
|
189
218
|
prerelease: false
|
|
190
219
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
220
|
requirements:
|
|
192
221
|
- - ">="
|
|
193
222
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: 5.2.
|
|
223
|
+
version: 5.2.8.1
|
|
195
224
|
- !ruby/object:Gem::Dependency
|
|
196
|
-
name:
|
|
225
|
+
name: actionview
|
|
197
226
|
requirement: !ruby/object:Gem::Requirement
|
|
198
227
|
requirements:
|
|
199
|
-
- - "
|
|
228
|
+
- - ">="
|
|
200
229
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
230
|
+
version: 5.2.8.1
|
|
202
231
|
type: :runtime
|
|
203
232
|
prerelease: false
|
|
204
233
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
234
|
requirements:
|
|
206
|
-
- - "
|
|
235
|
+
- - ">="
|
|
207
236
|
- !ruby/object:Gem::Version
|
|
208
|
-
version:
|
|
237
|
+
version: 5.2.8.1
|
|
209
238
|
- !ruby/object:Gem::Dependency
|
|
210
|
-
name:
|
|
239
|
+
name: notifications-ruby-client
|
|
211
240
|
requirement: !ruby/object:Gem::Requirement
|
|
212
241
|
requirements:
|
|
213
|
-
- - "
|
|
242
|
+
- - "~>"
|
|
214
243
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
244
|
+
version: '6.0'
|
|
216
245
|
type: :runtime
|
|
217
246
|
prerelease: false
|
|
218
247
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
248
|
requirements:
|
|
220
|
-
- - "
|
|
249
|
+
- - "~>"
|
|
221
250
|
- !ruby/object:Gem::Version
|
|
222
|
-
version:
|
|
251
|
+
version: '6.0'
|
|
223
252
|
description:
|
|
224
253
|
email:
|
|
225
254
|
- pezholio@gmail.com
|
|
@@ -227,11 +256,11 @@ executables: []
|
|
|
227
256
|
extensions: []
|
|
228
257
|
extra_rdoc_files: []
|
|
229
258
|
files:
|
|
230
|
-
- ".coveralls.yml"
|
|
231
259
|
- ".github/dependabot.yml"
|
|
232
260
|
- ".github/setup-rubygems.sh"
|
|
233
|
-
- ".github/workflows/
|
|
261
|
+
- ".github/workflows/ci.yml"
|
|
234
262
|
- ".github/workflows/publish.yml"
|
|
263
|
+
- ".github/workflows/rails-integration-tests.yml"
|
|
235
264
|
- ".gitignore"
|
|
236
265
|
- ".rspec"
|
|
237
266
|
- ".rubocop.yml"
|
|
@@ -239,21 +268,24 @@ files:
|
|
|
239
268
|
- CHANGELOG.md
|
|
240
269
|
- CODE_OF_CONDUCT.md
|
|
241
270
|
- CONTRIBUTING.md
|
|
271
|
+
- Dockerfile
|
|
242
272
|
- Gemfile
|
|
243
273
|
- LICENSE.txt
|
|
244
274
|
- README.md
|
|
245
275
|
- Rakefile
|
|
276
|
+
- app/views/layouts/govuk_notify_layout.html.erb
|
|
246
277
|
- bin/console
|
|
278
|
+
- bin/rspec
|
|
247
279
|
- bin/setup
|
|
280
|
+
- bin/standardrb
|
|
248
281
|
- docs/screenshot.png
|
|
249
282
|
- lib/mail/notify.rb
|
|
250
283
|
- lib/mail/notify/delivery_method.rb
|
|
251
|
-
- lib/mail/notify/
|
|
284
|
+
- lib/mail/notify/engine.rb
|
|
285
|
+
- lib/mail/notify/mail_notify_preview_interceptor.rb
|
|
286
|
+
- lib/mail/notify/mail_notify_previews_controller.rb
|
|
252
287
|
- lib/mail/notify/mailer.rb
|
|
253
|
-
- lib/mail/notify/mailers_controller.rb
|
|
254
288
|
- lib/mail/notify/message.rb
|
|
255
|
-
- lib/mail/notify/personalisation.rb
|
|
256
|
-
- lib/mail/notify/railtie.rb
|
|
257
289
|
- lib/mail/notify/version.rb
|
|
258
290
|
- mail-notify.gemspec
|
|
259
291
|
- renovate.json
|
|
@@ -269,7 +301,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
269
301
|
requirements:
|
|
270
302
|
- - ">="
|
|
271
303
|
- !ruby/object:Gem::Version
|
|
272
|
-
version:
|
|
304
|
+
version: 2.7.8
|
|
273
305
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
274
306
|
requirements:
|
|
275
307
|
- - ">="
|
|
@@ -279,5 +311,5 @@ requirements: []
|
|
|
279
311
|
rubygems_version: 3.1.6
|
|
280
312
|
signing_key:
|
|
281
313
|
specification_version: 4
|
|
282
|
-
summary:
|
|
314
|
+
summary: Rails plugin, send and preview email with GOV.UK Notify
|
|
283
315
|
test_files: []
|
data/.coveralls.yml
DELETED
|
File without changes
|