notification-pusher-actionmailer 1.2.4 → 3.0.3

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
2
  SHA256:
3
- metadata.gz: 3d4246805750b0660b82b02d1992a6d836cc7fc32db06bf8d84553431ad622fe
4
- data.tar.gz: 712ccd09a736f4aed4420d4ffce27a989f94db0687a76bd3817f46c9d27828c5
3
+ metadata.gz: 216fcf578fa6d6f23e905e5b93f4d8f445292774769846f41abed3433305d174
4
+ data.tar.gz: 1d45e2ad34ab053ef7100a7ad0720d6910a8bfff263ec74f69dc50eb22516ce2
5
5
  SHA512:
6
- metadata.gz: 616d5635d74337fa9d954b1361a45b52f51ceaa96675bccf62399675a80d9d37f239310038c2e40a68f02e5444c2db185b041feb178e9bdb38881ef054f3a019
7
- data.tar.gz: bc69aa5053062c82da104e41aca9fde456d7890e660c9bc23961af01ef91a1051e6fb92a39f90aa55da506c6e4bffd90a7824721682f795867dd73b25d98bd5b
6
+ metadata.gz: 6010c7096d7485ce0959e9c30bb382db9317e94000414bb423999ddf5d824db723a6b65773d2bb32ec20c192782e3f5ccd56e903edfa660f8b89feed3d647570
7
+ data.tar.gz: 8799c90c313cb7057b62d29564e61f1322e9e2193981edf9206cf77c9c43846b6d776da37cdc4d8ce6fb4382d4b4d3ea1c17651abfb0887d5e1cb41d34dbf520
data/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2017 Jonas Hübotter
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2017 Jonas Hübotter
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,135 +1,84 @@
1
- # NotificationPusher for ActionMailer
2
-
3
- [![Gem Version](https://badge.fury.io/rb/notification-pusher-actionmailer.svg)](https://badge.fury.io/rb/notification-pusher-actionmailer) <img src="https://travis-ci.org/jonhue/notifications-rails.svg?branch=master" />
4
-
5
- A pusher to send your notifications via email utilizing ActionMailer.
6
-
7
- ---
8
-
9
- ## Table of Contents
10
-
11
- * [Installation](#installation)
12
- * [Usage](#usage)
13
- * [Options](#options)
14
- * [To Do](#to-do)
15
- * [Contributing](#contributing)
16
- * [Contributors](#contributors)
17
- * [Semantic versioning](#semantic-versioning)
18
- * [License](#license)
19
-
20
- ---
21
-
22
- ## Installation
23
-
24
- NotificationPusher for ActionMailer works with Rails 5 onwards. You can add it to your `Gemfile` with:
25
-
26
- ```ruby
27
- gem 'notification-pusher-actionmailer'
28
- ```
29
-
30
- And then execute:
31
-
32
- $ bundle
33
-
34
- Or install it yourself as:
35
-
36
- $ gem install notification-pusher-actionmailer
37
-
38
- If you always want to be up to date fetch the latest from GitHub in your `Gemfile`:
39
-
40
- ```ruby
41
- gem 'notification-pusher-actionmailer', github: 'jonhue/notifications-rails'
42
- ```
43
-
44
- ---
45
-
46
- ## Usage
47
-
48
- Define this pusher in your `NotificationPusher` configuration:
49
-
50
- ```ruby
51
- NotificationPusher.configure do |config|
52
- config.define_pusher :ActionMailer
53
- end
54
- ```
55
-
56
- You can pass a `from` parameter, which will override the default email address specified in `ApplicationMailer`:
57
-
58
- ```ruby
59
- NotificationPusher.configure do |config|
60
- config.define_pusher :ActionMailer, from: 'my@email.com'
61
- end
62
- ```
63
-
64
- Then add a renderer called `_actionmailer.html.erb` to every notification type you aim to support. Learn more [here](https://github.com/jonhue/notifications-rails/tree/master/notification-renderer).
65
-
66
- Now you can push your notifications:
67
-
68
- ```ruby
69
- notification = Notification.create target: User.first, object: Recipe.first
70
- notification.push :ActionMailer, to: 'another@email.com'
71
- ```
72
-
73
- **Note:** If the email address, you want to push to, is the same as `notification.target.email` you can omit the `to` parameter.
74
-
75
- It is also possible to override the email address sending this notification, by passing a `from` parameter.
76
-
77
- ### Options
78
-
79
- **`to`** Receiver email address. Takes a string.
80
-
81
- **`from`** Sender email address. Takes a string. Defaults to email specified in `ApplicationMailer`.
82
-
83
- **`renderer`** Specify a renderer. Takes a string. Defaults to `'actionmailer'`.
84
-
85
- **`layout`** Layout used for template rendering. Takes a string. Defaults to layout specified in `ApplicationMailer`.
86
-
87
- ---
88
-
89
- ## To Do
90
-
91
- [Here](https://github.com/jonhue/notifications-rails/projects/6) is the full list of current projects.
92
-
93
- To propose your ideas, initiate the discussion by adding a [new issue](https://github.com/jonhue/notifications-rails/issues/new).
94
-
95
- ---
96
-
97
- ## Contributing
98
-
99
- We hope that you will consider contributing to NotificationPusher for ActionMailer. Please read this short overview for some information about how to get started:
100
-
101
- [Learn more about contributing to this repository](https://github.com/jonhue/notifications-rails/blob/master/CONTRIBUTING.md), [Code of Conduct](https://github.com/jonhue/notifications-rails/blob/master/CODE_OF_CONDUCT.md)
102
-
103
- ### Contributors
104
-
105
- Give the people some :heart: who are working on this project. See them all at:
106
-
107
- https://github.com/jonhue/notifications-rails/graphs/contributors
108
-
109
- ### Semantic Versioning
110
-
111
- NotificationPusher for ActionMailer follows Semantic Versioning 2.0 as defined at http://semver.org.
112
-
113
- ## License
114
-
115
- MIT License
116
-
117
- Copyright (c) 2017 Jonas Hübotter
118
-
119
- Permission is hereby granted, free of charge, to any person obtaining a copy
120
- of this software and associated documentation files (the "Software"), to deal
121
- in the Software without restriction, including without limitation the rights
122
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
123
- copies of the Software, and to permit persons to whom the Software is
124
- furnished to do so, subject to the following conditions:
125
-
126
- The above copyright notice and this permission notice shall be included in all
127
- copies or substantial portions of the Software.
128
-
129
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
130
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
131
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
132
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
133
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
134
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
135
- SOFTWARE.
1
+ # notifications-rails
2
+
3
+ notifications-rails is the most powerful notification library for Rails. It offers not only simple APIs to create and render notifications but also supports user-integration and cross-platform delivery of notifications.
4
+
5
+ ## Philosophy
6
+
7
+ notifications-rails has been built with modularity in mind. It currently consists of four components each of which bringing one essential functionality to the integration of notifications in your Rails app.
8
+
9
+ **[notification-handler](notification-handler):** Create and modify your notifications through a simple API.
10
+
11
+ **[notification-renderer](notification-renderer):** Render your notifications in various contexts.
12
+
13
+ **[notification-pusher](notification-pusher):** Deliver your notifications to various services, including [Email](notification-pusher/notification-pusher-actionmailer) and [OneSignal](notification-pusher/notification-pusher-onesignal).
14
+
15
+ **[notification-settings](notification-settings):** Integrates with your authentication solution to craft a personalized user notification platform.
16
+
17
+ You may just use the components you actually need, or instead use this gem to bundle everything for a complete notification solution.
18
+
19
+ ## Installation
20
+
21
+ You can add notifications-rails to your `Gemfile` with:
22
+
23
+ ```ruby
24
+ gem 'notifications-rails'
25
+ ```
26
+
27
+ And then run:
28
+
29
+ $ bundle install
30
+
31
+ Or install it yourself as:
32
+
33
+ $ gem install notifications-rails
34
+
35
+ If you always want to be up to date fetch the latest from GitHub in your `Gemfile`:
36
+
37
+ ```ruby
38
+ gem 'notifications-rails', github: 'jonhue/notifications-rails'
39
+ ```
40
+
41
+ ## Usage
42
+
43
+ Details on usage are provided in the [documentation](#philosophy) of the specific modules.
44
+
45
+ ## Development
46
+
47
+ To start development you first have to fork this repository and locally clone your fork.
48
+
49
+ Install the projects dependencies by running:
50
+
51
+ $ bundle install
52
+
53
+ ### Testing
54
+
55
+ Tests are written with RSpec. Integration tests are located in `/spec`, unit tests can be found in `<module>/spec`.
56
+
57
+ To run all tests:
58
+
59
+ $ ./rspec
60
+
61
+ To run RuboCop:
62
+
63
+ $ bundle exec rubocop
64
+
65
+ You can find all commands run by the CI workflow in `.github/workflows/ci.yml`.
66
+
67
+ ## Contributing
68
+
69
+ We warmly welcome everyone who is intersted in contributing. Please reference our [contributing guidelines](CONTRIBUTING.md) and our [Code of Conduct](CODE_OF_CONDUCT.md).
70
+
71
+ ## Releases
72
+
73
+ [Here](https://github.com/jonhue/notifications-rails/releases) you can find details on all past releases. Unreleased breaking changes that are on the current master can be found [here](CHANGELOG.md).
74
+
75
+ notifications-rails follows Semantic Versioning 2.0 as defined at http://semver.org. Reference our [security policy](SECURITY.md).
76
+
77
+ ### Publishing
78
+
79
+ 1. Review breaking changes and deprecations in `CHANGELOG.md`.
80
+ 1. Change the gem version in `VERSION`.
81
+ 1. Reset `CHANGELOG.md`.
82
+ 1. Create a pull request to merge the changes into `master`.
83
+ 1. After the pull request was merged, create a new release listing the breaking changes and commits on `master` since the last release.
84
+ 1. The release workflow will publish the gems to RubyGems.
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'notification-handler'
4
+ require 'notification-renderer'
5
+ require 'notification-pusher'
6
+ require 'notification-settings'
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: notification-pusher-actionmailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Hübotter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-17 00:00:00.000000000 Z
11
+ date: 2020-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: railties
14
+ name: actionmailer
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: actionmailer
28
+ name: notification-pusher
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 3.0.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 3.0.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: railties
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - ">="
@@ -39,79 +53,117 @@ dependencies:
39
53
  - !ruby/object:Gem::Version
40
54
  version: '5.0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: notification-pusher
56
+ name: factory_bot
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - '='
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: 1.2.4
48
- type: :runtime
61
+ version: '0'
62
+ type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 1.2.4
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: notification-renderer
70
+ name: pry
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - '='
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: 1.2.4
62
- type: :runtime
75
+ version: '0'
76
+ type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - '='
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
67
88
  - !ruby/object:Gem::Version
68
- version: 1.2.4
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
- name: rspec
98
+ name: rspec-rails
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - "~>"
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
- version: '3.7'
103
+ version: '0'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - "~>"
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
- version: '3.7'
110
+ version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rubocop
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - ">="
88
116
  - !ruby/object:Gem::Version
89
- version: '0.52'
117
+ version: '0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - "~>"
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: sqlite3
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
95
151
  - !ruby/object:Gem::Version
96
- version: '0.52'
97
- description: A pusher to send your notifications via email utilizing ActionMailer.
98
- email: me@jonhue.me
152
+ version: '0'
153
+ description: A delivery method to send your notifications via email using ActionMailer.
154
+ email: jonas.huebotter@gmail.com
99
155
  executables: []
100
156
  extensions: []
101
157
  extra_rdoc_files: []
102
158
  files:
103
- - CHANGELOG.md
104
159
  - LICENSE
105
160
  - README.md
106
- - app/mailers/notification_pusher/action_mailer/notification_mailer.rb
107
- - app/views/notification_pusher/action_mailer/notification_mailer/push.html.erb
108
- - lib/notification-pusher-actionmailer.rb
109
- - lib/notification_pusher/action_mailer.rb
110
- - lib/notification_pusher/action_mailer/engine.rb
161
+ - lib/notifications-rails.rb
111
162
  homepage: https://github.com/jonhue/notifications-rails/tree/master/notification-pusher/notification-pusher-actionmailer
112
163
  licenses:
113
164
  - MIT
114
- metadata: {}
165
+ metadata:
166
+ github_repo: ssh://github.com/jonhue/notifications-rails
115
167
  post_install_message:
116
168
  rdoc_options: []
117
169
  require_paths:
@@ -120,16 +172,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
172
  requirements:
121
173
  - - ">="
122
174
  - !ruby/object:Gem::Version
123
- version: '2.3'
175
+ version: 2.2.2
124
176
  required_rubygems_version: !ruby/object:Gem::Requirement
125
177
  requirements:
126
178
  - - ">="
127
179
  - !ruby/object:Gem::Version
128
180
  version: '0'
129
181
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.7.4
182
+ rubygems_version: 3.1.4
132
183
  signing_key:
133
184
  specification_version: 4
134
- summary: A pusher to send your notifications via email utilizing ActionMailer
185
+ summary: A delivery method to send your notifications via email using ActionMailer
135
186
  test_files: []
@@ -1,23 +0,0 @@
1
- # Changelog
2
-
3
- ### master
4
-
5
- * nothing yet
6
-
7
- ### 1.0.0 - 2017/12/28
8
-
9
- * bugfixes
10
-
11
- ### 1.0.0.beta6 - 2017/12/28
12
-
13
- * bugfixes
14
- * fix lib loading problems
15
-
16
- ### 1.0.0.beta4 - 2017/12/27
17
-
18
- * features
19
- * add functionality
20
-
21
- ### 1.0.0.beta1 - 2017/12/22
22
-
23
- * initial release
@@ -1,10 +0,0 @@
1
- class NotificationPusher::ActionMailer::NotificationMailer < ApplicationMailer
2
-
3
- def push notification, options = {}
4
- render(layout: options[:layout]) if options.has_key?(:layout)
5
- @notification = notification
6
- @renderer = options[:renderer] || 'actionmailer'
7
- mail to: options[:to] || notification.target.email, from: options[:from]
8
- end
9
-
10
- end
@@ -1 +0,0 @@
1
- <%= render_notification @notification, @renderer %>
@@ -1,2 +0,0 @@
1
- require 'notification-pusher'
2
- require 'notification_pusher/action_mailer'
@@ -1,11 +0,0 @@
1
- require 'notification-renderer'
2
-
3
- class NotificationPusher::ActionMailer
4
-
5
- require 'notification_pusher/action_mailer/engine'
6
-
7
- def initialize notification, options = {}
8
- ::NotificationPusher::ActionMailer::NotificationMailer.push notification, options
9
- end
10
-
11
- end
@@ -1,9 +0,0 @@
1
- require 'rails/railtie'
2
- require 'action_mailer'
3
-
4
- module NotificationPusher
5
- class ActionMailer
6
- class Engine < ::Rails::Engine
7
- end
8
- end
9
- end