noticed 2.7.1 → 2.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e9d45f1b942d7e3ad80d8fede7d76ab3b1c503d2e752508bf498e0779299a79
4
- data.tar.gz: ac97b350124abce45eb8d7a875fd99a1252769690b50e72335efdfdb76e19bb6
3
+ metadata.gz: dec070db3dc9527a542e8f4cb57edc6dd61397c8cb870dd3efbb4dccd905b410
4
+ data.tar.gz: 9ca50907997ea442ff27c305d679aa7ed4e02d80658938bc7f5b75e4888ce95d
5
5
  SHA512:
6
- metadata.gz: 9cc04c25fad32bd8bfe44d231b0dc51c59f4f248d4125885def6867d158d18d33bd0389f69d6ced75ed8fb65096b43be22ed12ca6f1995e1d2a02860f2ce2bc5
7
- data.tar.gz: c5a3baa9b0f010f9d592e3fb42b185dad515595768a451763eab62954e987989e128b7d6b1fa27abe3ab5f2d362bb13e93d464b50f022d763d4cbd28bd16e183
6
+ metadata.gz: 9539c8bc4303864682d8270eebb39b0e1e79b0db7e50b8674e0cdae9c5bb1ec59b5ae556309162e91c74e678bcfb37369414edbeeaebb081a1822395de79e561
7
+ data.tar.gz: 67190713e1fefee0a28458659e04dd5a4d3984b620e7ccb080e1e6e5dc6d49ec06b63d6c74ae8ab1a6b4dda99e1a2dc4bfb43a0495b9271015e45762c378ad21
data/README.md CHANGED
@@ -594,7 +594,9 @@ You can mix and match the options and delivery methods to suit your application
594
594
 
595
595
  If you want to build your own delivery method to deliver notifications to a specific service or medium that Noticed doesn’t (or doesn’t _yet_) support, you’re welcome to do so! To generate a custom delivery method, simply run
596
596
 
597
- `rails generate noticed:delivery_method Discord`
597
+ ```bash
598
+ rails generate noticed:delivery_method Discord
599
+ ```
598
600
 
599
601
  This will generate a new `ApplicationDeliveryMethod` and `DeliveryMethods::Discord` class inside the `app/notifiers/delivery_methods` folder, which can be used to deliver notifications to Discord.
600
602
 
@@ -607,7 +609,6 @@ class DeliveryMethods::Discord < ApplicationDeliveryMethod
607
609
  # Logic for sending the notification
608
610
  end
609
611
  end
610
-
611
612
  ```
612
613
 
613
614
  You can use the custom delivery method thus created by adding a `deliver_by` line with a unique name and `class` option in your notification class.
@@ -618,6 +619,12 @@ class MyNotifier < Noticed::Event
618
619
  end
619
620
  ```
620
621
 
622
+ You can also generate bulk delivery methods with the `--bulk` flag:
623
+
624
+ ```bash
625
+ rails generate noticed:delivery_method Discord --bulk
626
+ ```
627
+
621
628
  <details>
622
629
  <summary>Turbo Stream Custom Delivery Method Example</summary>
623
630
 
@@ -11,9 +11,16 @@ module Noticed
11
11
 
12
12
  desc "Generates a class for a custom delivery method with the given NAME."
13
13
 
14
+ class_option :bulk, desc: "Generate as a bulk delivery method", type: :boolean, default: false
15
+
14
16
  def generate_notification
15
- template "application_delivery_method.rb", "app/notifiers/application_delivery_method.rb"
16
- template "delivery_method.rb", "app/notifiers/delivery_methods/#{singular_name}.rb"
17
+ if options[:bulk]
18
+ template "application_bulk_delivery_method.rb", "app/notifiers/application_bulk_delivery_method.rb"
19
+ template "bulk_delivery_method.rb", "app/notifiers/bulk_delivery_methods/#{singular_name}.rb"
20
+ else
21
+ template "application_delivery_method.rb", "app/notifiers/application_delivery_method.rb"
22
+ template "delivery_method.rb", "app/notifiers/delivery_methods/#{singular_name}.rb"
23
+ end
17
24
  end
18
25
  end
19
26
  end
@@ -0,0 +1,2 @@
1
+ class ApplicationBulkDeliveryMethod < Noticed::BulkDeliveryMethod
2
+ end
@@ -0,0 +1,14 @@
1
+ class BulkDeliveryMethods::<%= class_name %> < ApplicationBulkDeliveryMethod
2
+ # To use this delivery method, specify the class option in your notifier.
3
+ #
4
+ # class MyNotifer < ApplicationNotifier
5
+ # bulk_deliver_by :<%= file_path %>, class: "<%= class_name %>"
6
+ # end
7
+
8
+ # Specify the config options your delivery method requires in its config block
9
+ required_options # :foo, :bar
10
+
11
+ def deliver
12
+ # Logic for sending the notification
13
+ end
14
+ end
@@ -1,4 +1,10 @@
1
1
  class DeliveryMethods::<%= class_name %> < ApplicationDeliveryMethod
2
+ # To use this delivery method, specify the class option in your notifier.
3
+ #
4
+ # class MyNotifer < ApplicationNotifier
5
+ # deliver_by :<%= file_path %>, class: "<%= class_name %>"
6
+ # end
7
+
2
8
  # Specify the config options your delivery method requires in its config block
3
9
  required_options # :foo, :bar
4
10
 
@@ -21,4 +21,10 @@ class <%= class_name %>Notifier < ApplicationNotifier
21
21
  # Add required params
22
22
  #
23
23
  # required_param :message
24
+
25
+ # Compute recipients without having to pass them in
26
+ #
27
+ # recipients do
28
+ # params[:record].thread.all_authors
29
+ # end
24
30
  end
@@ -1,3 +1,3 @@
1
1
  module Noticed
2
- VERSION = "2.7.1"
2
+ VERSION = "2.8.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noticed
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.1
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Oliver
@@ -50,8 +50,10 @@ files:
50
50
  - lib/generators/noticed/install_generator.rb
51
51
  - lib/generators/noticed/notifier_generator.rb
52
52
  - lib/generators/noticed/templates/README
53
+ - lib/generators/noticed/templates/application_bulk_delivery_method.rb.tt
53
54
  - lib/generators/noticed/templates/application_delivery_method.rb.tt
54
55
  - lib/generators/noticed/templates/application_notifier.rb.tt
56
+ - lib/generators/noticed/templates/bulk_delivery_method.rb.tt
55
57
  - lib/generators/noticed/templates/delivery_method.rb.tt
56
58
  - lib/generators/noticed/templates/notifier.rb.tt
57
59
  - lib/noticed.rb
@@ -99,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
101
  - !ruby/object:Gem::Version
100
102
  version: '0'
101
103
  requirements: []
102
- rubygems_version: 3.6.9
104
+ rubygems_version: 3.7.0
103
105
  specification_version: 4
104
106
  summary: Notifications for Ruby on Rails applications
105
107
  test_files: []