2.0.0
Breaking Changes:
-
Change Pusher/DeliveryMethod API to not push immediately when initialized. Important: If you have any custom
pushers, you need to add acall
method to it and move any code out ofinitialize
(except
code that is just doing initialization) and into thecall
method. [#49] (#55) -
Groups should now be defined using callables like
-> { where(subscriber: true) }
. [#44] (#84) -
notification_subscribers
/notification_subscribables
now returnSubscription
instances instead of actual subscribers/subscribables. [#70] (#87) -
Pushers/Delivery methods should now be in the
NotificationPusher::DeliveryMethod
namespace. [#58] (#88) -
Introduced a base class for pushers/delivery methods. Your custom pushers should now extend
NotificationPusher::DeliveryMethod::Base
. The class already implements the necessary initialization of instance vars. From yourcall
method, you can accessnotification
andoptions
. [#58] (#88) -
Renamed the
define_pusher
configuration option toregister_delivery_method
. [#58] (#88) -
Renamed the
push
method todeliver
and the pusher/delivery method attributes from:pusher
to:delivery_method
and from:pusher_options
to:delivery_options
. [#58] (#88) -
register_delivery_method
(formerlydefine_pusher
) now takes aname:symbol
, the class name of the delivery methodclass_name:symbol
and an options hash (optional). [#51] (#89)NotificationPusher.configure do |config| config.register_delivery_method :email, :ActionMailer, from: 'my@email.com' end
-
Removed the
NotificationSettings::Settings
class (& database table) that held settings & status of a target/subscription. This information is now stored directly in the target/subscription records. The newsettings
field usesHashie::Mash
. Therefore, its API changed dramatically. [#38] (#95) -
Added form objects that significantly reduce the work required to build a settings form. [#38] (#95)
-
All used statuses & notification categories must now be configured in the NotificationSettings initializer. [#38] (#95)
-
When using the ActionMailer delivery method with NotificationRenderer,
'notification-renderer'
must be required explicitly. Otherwise the delivery method expects:mailer
and:action
options that specify a custom mailer. [#53] (#101)
3c3d719 [#53] Add an ActionMailer notification-pusher that lets you use existing mailers and templates (#101)
7cc892e [#38] Use Hash.new({}) for category_settings (#95)
2114610 [#96] CI not catching RuboCop & RSpec errors (#99)
7bcdd63 [#97] Allow automatic merging without approving reviews (#98)
8f9679e [#52] Allow Notification#target to be optional to allow more flexible sending to a dynamic "group" (#94)
f268974 [#92] Fix auto merge (#93)
d7dd25f [#51] Swappable pushers (separate pusher name/key from pusher class) (#91)
5926392 [#48] deliver
not called on NotificationMailer.push
(#89)
6a98464 [#70] Cant notify subscribers (#87)
4159cb3 [#58] Rename Pusher to DeliveryMethod (#88)
3c03ab6 [#85] Remove notification-pusher-actioncable (#86)
9f9f96a [#7] Write specs (#84)
dda30f0 [#34] Document in notification-settings that rails g notification_handler:install
must be run prior to rails g notification_settings:install
(#81)
5a0bfd3 [#60] Rails 5.1 support (#79)
863aab9 [#77] Enable auto merge (#78)
2117e9c Update rubocop to version 0.68.1 (#76)
fa4c54a Update rubocop to version 0.68.0 (#75)
2631305 Update rubocop-rspec: 1.27.0 → 1.29.0 (minor) (#65)
85de34f Use create_notification_setting! method on after_create_commit callback (#69)
af99f40 [#72] Fix travis (#73)
90164c1 Update .travis.yml
f59ab4e Change pushers to not immediately push when initialized (#55)
ec47c40 [#45] Fix errors in initialize_pusher (#46)
bb46dab [#33] Automatically build notification_setting
if object doesn't have one yet (#40)
b6b1a92 [#35] Treat notifications to be enabled by default (#37)
04841c3 Fix: method_missing needs to be a class method (#32)
5044265 [#26] Update Readmes (#31)