mail-notify 0.2.2 → 1.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2cccef3b1098b15cd45d499ca9e14fdde795c87816386bbf87cb29620fb76576
4
- data.tar.gz: 05e1dacda06543a00819af0830348ab78abaa870d25278c5e67d996bea4a5d77
3
+ metadata.gz: 7c7e4e16f5be488db0fadd5e7bda04b7225eed92367f509ddf34a8c5bcc34ece
4
+ data.tar.gz: 804d693e50559e07ae4c9dd15ba60fe5219dffb7f323f35d5021726152752021
5
5
  SHA512:
6
- metadata.gz: fbb86ca94843dcd6b534a29d11d850e393ec37a72d90d58fe2b1dfead8471d4b922e6e9fede8cc59b58be6e1d3f3d3ffc0e8798c62f916edfe2a9b40f4ff7e30
7
- data.tar.gz: 284a01c7f04728b4bf8dce7575b8ae00b0414cdaec1fe2bca589eb30186ab338f7efae7fb12c7f1cc3d893bc1ebd538350724cc77bb84ea7ad81ae70412b42b8
6
+ metadata.gz: '019defa225ca4c55a8ab208708e4635ef55777f4e8a5d0a7ce1650d2b56271df1dd1595083bb8a1c245ec1578a4fc835c39de3139ad54b249cd183a8ffd55998'
7
+ data.tar.gz: ff993d41bcc0b050f3a0874e7d391023dcbfb0abfee33c112334e3d8906909c466300b5f5d12fe490c7ee5d1ee70ca808de744ce46a5fc52618b337d3ad91ec8
@@ -13,10 +13,17 @@ jobs:
13
13
  uses: actions/setup-ruby@v1
14
14
  with:
15
15
  ruby-version: 2.6.x
16
+ - name: Set up cache
17
+ uses: actions/cache@preview
18
+ with:
19
+ path: vendor/bundle
20
+ key: ${{ runner.os }}-gem-${{ hashFiles('**/mail-notify.gemspec') }}
21
+ restore-keys: |
22
+ ${{ runner.os }}-gem-
16
23
  - name: Build and test with Rake
17
24
  run: |
18
25
  sudo apt-get update
19
26
  sudo apt-get install sqlite3 libsqlite3-dev
20
27
  gem install bundler
21
- bundle install --jobs 4 --retry 3
28
+ bundle install --jobs 4 --retry 3 --path ./vendor/bundle
22
29
  bundle exec rake
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  .DS_Store
13
13
  /Gemfile.lock
14
14
  /spec/dummy/log/test.log
15
+ /vendor
@@ -6,6 +6,21 @@ The format is based on [Keep a Changelog]
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.0.3] - 2020-12-14
10
+
11
+ - Add support for ActionMailer 6.1
12
+
13
+ ## [1.0.2] - 2020-03-24
14
+
15
+ - Add support for ActionMailer 6.0
16
+
17
+ ## [1.0.1] - 2020-03-06
18
+
19
+ - Support additional Notify services
20
+
21
+ ## [1.0] - 2019-10-22
22
+
23
+ - Bump Notify gem to 5.1
9
24
  - Add error handling for blank variables
10
25
 
11
26
  ## [0.2.1] - 2019-10-22
@@ -33,10 +48,13 @@ The format is based on [Keep a Changelog]
33
48
 
34
49
  ## [0.0.1] - 2019-02-01
35
50
 
36
- - Inital release
51
+ - Initial release
37
52
 
38
- [unreleased]:
39
- https://github.com/DFE-Digital/dfe-teachers-payment-service/compare/0.1.0...HEAD
53
+ [unreleased]: https://github.com/DFE-Digital/dfe-teachers-payment-service/compare/1.0.3...HEAD
54
+ [1.0.3]: https://github.com/dxw/mail-notify/compare/1.0.2...1.0.3
55
+ [1.0.2]: https://github.com/dxw/mail-notify/compare/1.0.1...1.0.2
56
+ [1.0.1]: https://github.com/dxw/mail-notify/compare/1.0...1.0.1
57
+ [1.0]: https://github.com/dxw/mail-notify/compare/0.2.1...1.0
40
58
  [0.2.1]: https://github.com/dxw/mail-notify/compare/0.2.0...0.2.1
41
59
  [0.2.0]: https://github.com/dxw/mail-notify/compare/0.1.0...0.2.0
42
60
  [0.1.0]: https://github.com/dxw/mail-notify/compare/0.0.3...0.1.0
@@ -0,0 +1 @@
1
+ The [dxw standard contributing guide](https://github.com/dxw/.github/blob/main/CONTRIBUTING.md) applies for this repository.
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in mail-notify.gemspec
6
6
  gemspec
data/README.md CHANGED
@@ -32,6 +32,16 @@ config.action_mailer.notify_settings = {
32
32
  }
33
33
  ```
34
34
 
35
+ If you're using a different Notify service to GOV.UK Notify (for example [GOV.CA Notify](https://notification.alpha.canada.ca/)), you can also specify the Base URL in your setup:
36
+
37
+ ```ruby
38
+ config.action_mailer.delivery_method = :notify
39
+ config.action_mailer.notify_settings = {
40
+ api_key: YOUR_NOTIFY_API_KEY,
41
+ base_url: 'https://api.notification.alpha.canada.ca'
42
+ }
43
+ ```
44
+
35
45
  ### Mailers
36
46
 
37
47
  There are two options for using `Mail::Notify`, either templating in Rails with a view, or templating in Notify. Whichever way you choose, you'll need your mailers to inherit from `Mail::Notify::Mailer` like so:
@@ -73,7 +83,7 @@ class MyMailer < Mail::Notify::Mailer
73
83
  def send_email
74
84
  template_mail('YOUR_TEMPLATE_ID_GOES_HERE',
75
85
  to: 'mail@somewhere.com',
76
- personalisations: {
86
+ personalisation: {
77
87
  foo: 'bar'
78
88
  }
79
89
  )
data/Rakefile CHANGED
@@ -1,13 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
- require 'rubocop/rake_task'
6
- require 'coveralls/rake/task'
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+ require "standard/rake"
6
+ require "coveralls/rake/task"
7
7
 
8
8
  Coveralls::RakeTask.new
9
- RuboCop::RakeTask.new
10
9
 
11
10
  RSpec::Core::RakeTask.new(:spec)
12
11
 
13
- task default: %i[rubocop spec coveralls:push]
12
+ task default: %i[standard spec coveralls:push]
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'notifications/client'
3
+ require "notifications/client"
4
4
 
5
- require 'mail/notify/version'
6
- require 'mail/notify/railtie' if defined? Rails
7
- require 'mail/notify/delivery_method'
8
- require 'mail/notify/personalisation'
9
- require 'mail/notify/mailer'
10
- require 'mail/notify/message'
11
- require 'mail/notify/mailers_controller'
5
+ require "mail/notify/version"
6
+ require "mail/notify/railtie" if defined? Rails
7
+ require "mail/notify/delivery_method"
8
+ require "mail/notify/personalisation"
9
+ require "mail/notify/mailer"
10
+ require "mail/notify/message"
11
+ require "mail/notify/mailers_controller"
12
12
 
13
13
  Mail::Message.include Mail::Notify::Message
14
14
 
@@ -6,7 +6,7 @@ module Mail
6
6
  attr_accessor :settings, :response
7
7
 
8
8
  def initialize(settings)
9
- raise ArgumentError, 'You must specify an API key' if settings[:api_key].blank?
9
+ raise ArgumentError, "You must specify an API key" if settings[:api_key].blank?
10
10
 
11
11
  @settings = settings
12
12
  end
@@ -26,7 +26,7 @@ module Mail
26
26
  private
27
27
 
28
28
  def client
29
- @client ||= Notifications::Client.new(@settings[:api_key])
29
+ @client ||= Notifications::Client.new(@settings[:api_key], @settings[:base_url])
30
30
  end
31
31
 
32
32
  def email_params
@@ -4,15 +4,15 @@ module Mail
4
4
  module Notify
5
5
  class Mailer < ActionMailer::Base
6
6
  def view_mail(template_id, headers)
7
- raise ArgumentError, 'You must specify a template ID' if template_id.blank?
7
+ raise ArgumentError, "You must specify a template ID" if template_id.blank?
8
8
 
9
9
  mail(headers.merge(template_id: template_id))
10
10
  end
11
11
 
12
12
  def template_mail(template_id, headers)
13
- raise ArgumentError, 'You must specify a template ID' if template_id.blank?
13
+ raise ArgumentError, "You must specify a template ID" if template_id.blank?
14
14
 
15
- mail(headers.merge(body: '', subject: '', template_id: template_id))
15
+ mail(headers.merge(body: "", subject: "", template_id: template_id))
16
16
  end
17
17
  end
18
18
  end
@@ -23,13 +23,13 @@ module Mail
23
23
  # the `govuk_notify_layout` layout
24
24
  append_view_path(__dir__)
25
25
 
26
- response.content_type = 'text/html'
27
- render html: @email.preview.html.html_safe, layout: 'govuk_notify_layout'
26
+ response.content_type = "text/html"
27
+ render html: @email.preview.html.html_safe, layout: "govuk_notify_layout"
28
28
  end
29
29
 
30
30
  def render_preview_wrapper
31
31
  @part = @email
32
- render action: 'email', layout: false, formats: %i[html]
32
+ render action: "email", layout: false, formats: %i[html]
33
33
  end
34
34
 
35
35
  def notify?
@@ -3,11 +3,11 @@
3
3
  module Mail
4
4
  module Notify
5
5
  class Railtie < Rails::Railtie
6
- initializer 'mail-notify.add_delivery_method', before: 'action_mailer.set_configs' do
6
+ initializer "mail-notify.add_delivery_method", before: "action_mailer.set_configs" do
7
7
  ActionMailer::Base.add_delivery_method(:notify, Mail::Notify::DeliveryMethod)
8
8
  end
9
9
 
10
- initializer 'mail-notify.action_controller' do
10
+ initializer "mail-notify.action_controller" do
11
11
  ActiveSupport.on_load(:action_controller, run_once: true) do
12
12
  Rails::MailersController.prepend(Mail::Notify::MailersController)
13
13
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Mail
4
4
  module Notify
5
- VERSION = '0.2.2'
5
+ VERSION = "1.0.3"
6
6
  end
7
7
  end
@@ -1,37 +1,42 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'mail/notify/version'
5
+ require "mail/notify/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'mail-notify'
9
- spec.version = Mail::Notify::VERSION
10
- spec.authors = ['Stuart Harrison']
11
- spec.email = ['pezholio@gmail.com']
8
+ spec.name = "mail-notify"
9
+ spec.version = Mail::Notify::VERSION
10
+ spec.authors = ["Stuart Harrison"]
11
+ spec.email = ["pezholio@gmail.com"]
12
12
 
13
- spec.summary = 'ActionMailer support for the GOV.UK Notify API'
14
- spec.homepage = 'https://github.com/dxw/mail-notify'
15
- spec.license = 'MIT'
13
+ spec.summary = "ActionMailer support for the GOV.UK Notify API"
14
+ spec.homepage = "https://github.com/dxw/mail-notify"
15
+ spec.license = "MIT"
16
16
 
17
17
  # Specify which files should be added to the gem when it is released.
18
18
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
19
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
20
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
21
  end
22
- spec.bindir = 'exe'
23
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
- spec.require_paths = ['lib']
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.require_paths = ["lib"]
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 2.0'
27
- spec.add_development_dependency 'coveralls', '~> 0.8.22'
28
- spec.add_development_dependency 'pry', '~> 0.12.0'
29
- spec.add_development_dependency 'rails', '~> 6.0'
30
- spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_development_dependency 'rspec-rails', '~> 3.8'
32
- spec.add_development_dependency 'rubocop', '~> 0.63'
33
- spec.add_development_dependency 'sqlite3', '~> 1.4.1'
26
+ spec.add_development_dependency "bundler", "~> 2.0"
27
+ spec.add_development_dependency "coveralls", "~> 0.8.22"
28
+ spec.add_development_dependency "pry", "~> 0.12.0"
29
+ spec.add_development_dependency "rails", "~> 6.0"
30
+ spec.add_development_dependency "rake", "~> 12.3.3"
31
+ spec.add_development_dependency "rspec-rails", "~> 3.8"
32
+ spec.add_development_dependency "standard", "0.4.7"
33
+ spec.add_development_dependency "sqlite3", "~> 1.4.1"
34
+ spec.add_development_dependency "webmock", "~> 3.7.6"
34
35
 
35
- spec.add_dependency 'actionmailer', '>= 5.0', '< 6.1'
36
- spec.add_dependency 'notifications-ruby-client', '~> 3.1'
36
+ spec.add_dependency "actionmailer", ">= 5.2.4.2", "< 6.2"
37
+ spec.add_dependency "activesupport", ">= 5.2.4.3"
38
+ spec.add_dependency "actionpack", ">= 5.2.4.3"
39
+ spec.add_dependency "actionview", ">= 5.2.4.3"
40
+ spec.add_dependency "notifications-ruby-client", "~> 5.1"
41
+ spec.add_dependency "rack", ">= 2.1.4"
37
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mail-notify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Harrison
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2020-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: 12.3.3
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: 12.3.3
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec-rails
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -95,19 +95,19 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.8'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rubocop
98
+ name: standard
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: '0.63'
103
+ version: 0.4.7
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: '0.63'
110
+ version: 0.4.7
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sqlite3
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,40 +122,110 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 1.4.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: webmock
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 3.7.6
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 3.7.6
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: actionmailer
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - ">="
130
144
  - !ruby/object:Gem::Version
131
- version: '5.0'
145
+ version: 5.2.4.2
132
146
  - - "<"
133
147
  - !ruby/object:Gem::Version
134
- version: '6.1'
148
+ version: '6.2'
135
149
  type: :runtime
136
150
  prerelease: false
137
151
  version_requirements: !ruby/object:Gem::Requirement
138
152
  requirements:
139
153
  - - ">="
140
154
  - !ruby/object:Gem::Version
141
- version: '5.0'
155
+ version: 5.2.4.2
142
156
  - - "<"
143
157
  - !ruby/object:Gem::Version
144
- version: '6.1'
158
+ version: '6.2'
159
+ - !ruby/object:Gem::Dependency
160
+ name: activesupport
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: 5.2.4.3
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 5.2.4.3
173
+ - !ruby/object:Gem::Dependency
174
+ name: actionpack
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: 5.2.4.3
180
+ type: :runtime
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: 5.2.4.3
187
+ - !ruby/object:Gem::Dependency
188
+ name: actionview
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: 5.2.4.3
194
+ type: :runtime
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 5.2.4.3
145
201
  - !ruby/object:Gem::Dependency
146
202
  name: notifications-ruby-client
147
203
  requirement: !ruby/object:Gem::Requirement
148
204
  requirements:
149
205
  - - "~>"
150
206
  - !ruby/object:Gem::Version
151
- version: '3.1'
207
+ version: '5.1'
152
208
  type: :runtime
153
209
  prerelease: false
154
210
  version_requirements: !ruby/object:Gem::Requirement
155
211
  requirements:
156
212
  - - "~>"
157
213
  - !ruby/object:Gem::Version
158
- version: '3.1'
214
+ version: '5.1'
215
+ - !ruby/object:Gem::Dependency
216
+ name: rack
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: 2.1.4
222
+ type: :runtime
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: 2.1.4
159
229
  description:
160
230
  email:
161
231
  - pezholio@gmail.com
@@ -171,9 +241,9 @@ files:
171
241
  - ".rspec"
172
242
  - ".rubocop.yml"
173
243
  - ".ruby-version"
174
- - ".travis.yml"
175
244
  - CHANGELOG.md
176
245
  - CODE_OF_CONDUCT.md
246
+ - CONTRIBUTING.md
177
247
  - Gemfile
178
248
  - LICENSE.txt
179
249
  - README.md
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.3.7
7
- before_install: gem install bundler -v 2.0.1