notification-settings 1.0.0.beta6 → 1.0.0.beta7

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: a42d75dc626956570315c4a44fda5cff64afbbb3cffd9285178c16a04a3698b9
4
- data.tar.gz: 52e884e145132ecb9de437e9416e367186a0621ec7781026a63bf8a5cc720fd1
3
+ metadata.gz: f63fb9f4357cdf63bbdc200883a8cd4011a29da844c8e5fa7d5eee78bfa107a4
4
+ data.tar.gz: 905c9245c94a361a6e477ffa59e98d91cd58d90094581468847c0614787c27f1
5
5
  SHA512:
6
- metadata.gz: bdb70daa32cf8d055c3aa36d4c4dc9eb03bb3d0e6d5465942d2e0c5f1b38781b6a7c1c972e35aacb19101e6df55849db73b91d7f882551f6261357abeadb9b2d
7
- data.tar.gz: f574da3d94ad418d23ba42cb6918ddc35401a1cbfee23cd5c063baf4fc3d622e339b6c388c2f0d01b4b83d0a8eda2934ae77fca7d3605a380784a24aaa9c5dcf
6
+ metadata.gz: 9ad972080a92d39020ce11147873493906a75cc7eb7587b33ac2a9df1ccc5efe92a6af35405a7844b78f38d8e1245efc540b022ac1bb9c77338fb83698d31237
7
+ data.tar.gz: 55054ebb25086a00670ac41d672e5f3e86e737d04ca4ff3daa4aa0cdd58f7a806a951a8adf68bf68b2a0d42efaa431b28abd190ce73c79e6dd49e65c31d2366a
data/CHANGELOG.md ADDED
@@ -0,0 +1,37 @@
1
+ # Changelog
2
+
3
+ ### master
4
+
5
+ * nothing yet
6
+
7
+ ### 1.0.0.beta6 - 2017-12-28
8
+
9
+ * bugfixes
10
+ * fix lib loading problems
11
+
12
+ ### 1.0.0.beta5 - 2017-12-28
13
+
14
+ * bugfixes
15
+ * fix generators
16
+ * fix lib loading problems
17
+ * fix syntax errors
18
+
19
+ ### 1.0.0.beta4 - 2017-12-27
20
+
21
+ * features
22
+ * add settings functionality
23
+ * add `category` attribute to `Notification` instances
24
+ * add subscription functonality
25
+
26
+ ### 1.0.0.beta3 - 2017-12-25
27
+
28
+ * features
29
+ * add `Setting` ActiveRecord model
30
+
31
+ ### 1.0.0.beta2 - 2017-12-23
32
+
33
+ * no changes
34
+
35
+ ### 1.0.0.beta1 - 2017-12-22
36
+
37
+ * initial release
data/README.md CHANGED
@@ -1,17 +1,24 @@
1
- # NotificationsRails
1
+ # NotificationSettings
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/notifications-rails.svg)](https://badge.fury.io/rb/notifications-rails) <img src="https://travis-ci.org/jonhue/notifications-rails.svg?branch=master" />
3
+ [![Gem Version](https://badge.fury.io/rb/notification-settings.svg)](https://badge.fury.io/rb/notification-settings) <img src="https://travis-ci.org/jonhue/notifications-rails.svg?branch=master" />
4
4
 
5
- The most powerful notification solution for Rails. NotificationsRails simplifies the handling, rendering, user-integration and cross-platform pushing of notifications through its simple API.
6
-
7
- It integrates with the [Native](https://github.com/NativeGap/native-rails) gem to allow you to create a cross platform Rails app.
5
+ Integrates with your authentication solution to craft a personalized user notification platform.
8
6
 
9
7
  ---
10
8
 
11
9
  ## Table of Contents
12
10
 
13
- * [Philosophy](#philosophy)
14
11
  * [Installation](#installation)
12
+ * [Usage](#usage)
13
+ * [Categories](#categories)
14
+ * [Settings](#settings)
15
+ * [Category specific settings](#category-specific-settings)
16
+ * [Pusher specific settings](#pusher-specific-settings)
17
+ * [Updating settings](#updating-settings)
18
+ * [Subscriptions](#subscriptions)
19
+ * [Status](#status)
20
+ * [Configuration](#configuration)
21
+ * [Status](#status)
15
22
  * [To Do](#to-do)
16
23
  * [Contributing](#contributing)
17
24
  * [Contributors](#contributors)
@@ -20,49 +27,181 @@ It integrates with the [Native](https://github.com/NativeGap/native-rails) gem t
20
27
 
21
28
  ---
22
29
 
23
- ## Philosophy
30
+ ## Installation
24
31
 
25
- NotificationsRails has been built with modularity in mind. It currently consists of four components each of which bringing one essential functionality to the notification-integration in your Rails app.
32
+ NotificationSettings works with Rails 5 onwards. You can add it to your `Gemfile` with:
26
33
 
27
- **[NotificationHandler](notification-handler):** Create and modify your notifications through a simple API.
34
+ ```ruby
35
+ gem 'notification-settings'
36
+ ```
28
37
 
29
- **[NotificationRenderer](notification-renderer):** Render your notifications on multiple platforms by specifying notification types.
38
+ And then execute:
30
39
 
31
- **[NotificationPusher](notification-pusher):** Push your notifications to various services. Including [Email](notification-pusher-actionmailer), [ActionCable](notification-pusher-actioncable), [OneSignal](notification-pusher-onesignal).
40
+ $ bundle
32
41
 
33
- **[NotificationSettings](notification-settings):** Integrates with your authentication solution to craft a personalized user notification platform.
42
+ Or install it yourself as:
43
+
44
+ $ gem install notification-settings
34
45
 
35
- You may just add the components you actually need, or instead use this gem to bundle everything for a complete notification solution.
46
+ If you always want to be up to date fetch the latest from GitHub in your `Gemfile`:
47
+
48
+ ```ruby
49
+ gem 'notification-settings', github: 'jonhue/notifications-rails'
50
+ ```
51
+
52
+ Now run the generator:
53
+
54
+ $ rails g notification_settings:install
55
+
56
+ To wrap things up, migrate the changes to your database:
57
+
58
+ $ rails db:migrate
36
59
 
37
60
  ---
38
61
 
39
- ## Installation
62
+ ## Usage
40
63
 
41
- NotificationsRails works with Rails 5 onwards. You can add it to your `Gemfile` with:
64
+ NotificationSettings will create a `NotificationSettings::Setting` record for every newly created `notification_target`-object. It is accessible by calling:
42
65
 
43
66
  ```ruby
44
- gem 'notifications-rails'
67
+ User.first.notification_setting
45
68
  ```
46
69
 
47
- And then execute:
70
+ ### Categories
48
71
 
49
- $ bundle
72
+ NotificationSettings uses categories to allow your notification targets to define specific preferences. This is how you are able to specify the `category` of a `Notification` record:
50
73
 
51
- Or install it yourself as:
74
+ ```ruby
75
+ notification = Notification.create target: User.first, object: Recipe.first, category: 'notification'
76
+ ```
52
77
 
53
- $ gem install notifications-rails
78
+ **Note:** The `category` attribute of any new `Notification` record will default to the [`default_category` configuration](#configuration).
54
79
 
55
- If you always want to be up to date fetch the latest from GitHub in your `Gemfile`:
80
+ You can also scope records by their category:
81
+
82
+ ```ruby
83
+ # Return records with `'notification'` as category
84
+ Notification.notification_category
85
+
86
+ # Return records with `'follow'` as category
87
+ Notification.follow_category
88
+ ```
89
+
90
+ ### Settings
91
+
92
+ You can disable notifications for a given notification target:
93
+
94
+ ```ruby
95
+ s = User.first.notification_setting
96
+ s.settings[:enabled] = false
97
+ ```
98
+
99
+ This will prevent you from creating any new notifications with this user as target.
100
+
101
+ #### Category specific settings
102
+
103
+ A user can also have category specific settings:
104
+
105
+ ```ruby
106
+ s.category_settings[:category] = { enabled: false }
107
+ ```
108
+
109
+ #### Pusher specific settings
110
+
111
+ He can have global or category specific pusher settings:
112
+
113
+ ```ruby
114
+ s.settings[:ActionMailer] = false
115
+ s.category_settings[:category] = { ActionMailer: false }
116
+ ```
117
+
118
+ #### Updating settings
119
+
120
+ ...
121
+
122
+ ### Subscriptions
123
+
124
+ Subscriptions are a way to better handle settings for notifications from different objects to one notification target.
125
+
126
+ This is how to subscribe/unsubscribe a target to an object:
127
+
128
+ ```ruby
129
+ User.first.subscribe Recipe.first
130
+ User.first.unsubscribe Recipe.first
131
+ ```
132
+
133
+ Now you can easily notify all subscribers from the subscribable object:
134
+
135
+ ```ruby
136
+ Recipe.first.notify_subscribers push: :ActionMailer
137
+ ```
138
+
139
+ You can customize settings for a single subscription just as you would for a notification target:
140
+
141
+ ```ruby
142
+ s = User.first.notification_subscriptions.first.notification_setting
143
+ s.settings[:enabled] = false
144
+ ```
145
+
146
+ [Learn more](#settings)
147
+
148
+ ### Status
149
+
150
+ NotificationSettings comes with a handy feature called Status. The status of a record can temporarily disable the ability to create notifications for or to push notifications of a target.
151
+
152
+ This is how to define a status:
56
153
 
57
154
  ```ruby
58
- gem 'notifications-rails', github: 'jonhue/notifications-rails'
155
+ User.first.notification_setting.status = 'do not disturb'
156
+ User.first.notification_setting.save
59
157
  ```
60
158
 
159
+ **Note:** You can set `status` to any string you like.
160
+
161
+ `status` has three possible values that are being used as defaults. Normally it defaults to `'online'`. If the `last_seen` [configuration](#configuration) option has been set, it can also default to `'idle'` or `'offline'` depending on the `idle_after` and `offline_after` [configuration](#configuration) options.
162
+
163
+ If you have set `status` to a custom value, you can get back to using the defaults by setting it back to `nil`.
164
+
165
+ You can define statuses that prevent creating new notifications for a target and statuses that just prevent pushing them:
166
+
167
+ ```ruby
168
+ NotificationSettings.configure do |config|
169
+ config.do_not_notify_statuses = ['do not notify']
170
+ config.do_not_push_statuses = ['do not disturb']
171
+ end
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Configuration
177
+
178
+ You can configure NotificationSettings by passing a block to `configure`. This can be done in `config/initializers/notification-settings.rb`:
179
+
180
+ ```ruby
181
+ NotificationSettings.configure do |config|
182
+ config.default_category = 'notification'
183
+ end
184
+ ```
185
+
186
+ **`default_category`** Choose your default notification category. Takes a string. Defaults to `'notification'`.
187
+
188
+ ### Status
189
+
190
+ **`idle_after`** Time duration without activity after which the status defaults to `'idle'`. Takes a time. Defaults to `10.minutes`.
191
+
192
+ **`offline_after`** Time duration without activity after which the status defaults to `'offline'`. Takes a time. Defaults to `3.hours`.
193
+
194
+ **`last_seen`** Stringified datetime attribute name of `object` that defines the time of the last activity. Takes a string. Defaults to `'last_seen'`.
195
+
196
+ **`do_not_notify_statuses`** Array of possible statuses that will prevent creating notifications for a target. Takes an array of strings. Defaults to `[]`.
197
+
198
+ **`do_not_push_statuses`** Array of possible statuses that will prevent pushing notifications of a target. Takes an array of strings. Defaults to `['do not disturb']`
199
+
61
200
  ---
62
201
 
63
202
  ## To Do
64
203
 
65
- [Here](https://github.com/jonhue/notifications-rails/projects) is the full list of current projects.
204
+ [Here](https://github.com/jonhue/notifications-rails/projects/4) is the full list of current projects.
66
205
 
67
206
  To propose your ideas, initiate the discussion by adding a [new issue](https://github.com/jonhue/notifications-rails/issues/new).
68
207
 
@@ -70,9 +209,9 @@ To propose your ideas, initiate the discussion by adding a [new issue](https://g
70
209
 
71
210
  ## Contributing
72
211
 
73
- We hope that you will consider contributing to NotificationsRails. Please read this short overview for some information about how to get started:
212
+ We hope that you will consider contributing to NotificationSettings. Please read this short overview for some information about how to get started:
74
213
 
75
- [Learn more about contributing to this repository](CONTRIBUTING.md), [Code of Conduct](CODE_OF_CONDUCT.md)
214
+ [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)
76
215
 
77
216
  ### Contributors
78
217
 
@@ -82,7 +221,7 @@ https://github.com/jonhue/notifications-rails/graphs/contributors
82
221
 
83
222
  ### Semantic Versioning
84
223
 
85
- NotificationsRails follows Semantic Versioning 2.0 as defined at http://semver.org.
224
+ NotificationSettings follows Semantic Versioning 2.0 as defined at http://semver.org.
86
225
 
87
226
  ## License
88
227
 
@@ -0,0 +1,43 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/migration'
3
+
4
+ module NotificationSettings
5
+
6
+ class InstallGenerator < Rails::Generators::Base
7
+
8
+ include Rails::Generators::Migration
9
+
10
+ source_root File.join File.dirname(__FILE__), '../templates/install'
11
+ desc 'Install NotificationSettings'
12
+
13
+ def self.next_migration_number dirname
14
+ if ActiveRecord::Base.timestamped_migrations
15
+ Time.now.utc.strftime '%Y%m%d%H%M%S'
16
+ else
17
+ "%.3d" % ( current_migration_number(dirname) + 1 )
18
+ end
19
+ end
20
+
21
+ def create_initializer
22
+ template 'initializer.rb', 'config/initializers/notification-settings.rb'
23
+ end
24
+
25
+ def create_notifications_migration_file
26
+ migration_template 'notifications_migration.rb.erb', 'db/migrate/notification_settings_migration.rb', migration_version: migration_version
27
+ end
28
+
29
+ def show_readme
30
+ readme 'README.md'
31
+ end
32
+
33
+ private
34
+
35
+ def migration_version
36
+ if Rails.version >= '5.0.0'
37
+ "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
38
+ end
39
+ end
40
+
41
+ end
42
+
43
+ end
@@ -0,0 +1 @@
1
+ Now run `rails db:migrate` to add NotificationSettings to your database.
@@ -0,0 +1,24 @@
1
+ NotificationSettings.configure do |config|
2
+
3
+ # Choose your default notification category. Takes a string.
4
+ # config.default_category = 'notification'
5
+
6
+
7
+ ### STATUS ###
8
+
9
+ # Time duration without activity after which the status defaults to `'idle'`. Takes a time.
10
+ # config.idle_after = 10.minutes
11
+
12
+ # Time duration without activity after which the status defaults to `'offline'`. Takes a time.
13
+ # config.offline_after = 3.hours
14
+
15
+ # Stringified datetime attribute name of `object` that defines the time of the last activity. Takes a string.
16
+ # config.last_seen = 'last_seen'
17
+
18
+ # Array of possible statuses that will prevent creating notifications for a target. Takes an array of strings.
19
+ # config.do_not_notify_statuses = []
20
+
21
+ # Array of possible statuses that will prevent pushing notifications of a target. Takes an array of strings.
22
+ # config.do_not_push_statuses = ['do not disturb']
23
+
24
+ end
@@ -0,0 +1,29 @@
1
+ class NotificationSettingsMigration < ActiveRecord::Migration<%= migration_version %>
2
+ def change
3
+ add_column :notifications, :subscription_id, :bigint, index: true
4
+ add_column :notifications, :category, :string, index: true
5
+
6
+ create_table :notification_settings_settings do |t|
7
+
8
+ t.references :object, polymorphic: true, index: true
9
+ t.references :subscription, index: true
10
+
11
+ t.string :status
12
+
13
+ t.text :settings
14
+ t.text :category_settings
15
+
16
+ t.timestamps
17
+
18
+ end
19
+
20
+ create_table :notification_settings_subscriptions do |t|
21
+
22
+ t.references :subscriber, polymorphic: true, index: true
23
+ t.references :subscribable, polymorphic: true, index: true
24
+
25
+ t.timestamps
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,32 @@
1
+ module NotificationSettings
2
+
3
+ class << self
4
+ attr_accessor :configuration
5
+ end
6
+
7
+ def self.configure
8
+ self.configuration ||= Configuration.new
9
+ yield configuration
10
+ end
11
+
12
+ class Configuration
13
+
14
+ attr_accessor :default_category
15
+ attr_accessor :last_seen
16
+ attr_accessor :idle_after
17
+ attr_accessor :offline_after
18
+ attr_accessor :do_not_notify_statuses
19
+ attr_accessor :do_not_push_statuses
20
+
21
+ def initialize
22
+ @default_category = 'notification'
23
+ @last_seen = 'last_seen'
24
+ @idle_after = 10.minutes
25
+ @offline_after = 3.hours
26
+ @do_not_notify_statuses = []
27
+ @do_not_push_statuses = ['do not disturb']
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,6 @@
1
+ require 'rails/railtie'
2
+
3
+ module NotificationSettings
4
+ class Engine < ::Rails::Engine
5
+ end
6
+ end
@@ -0,0 +1,60 @@
1
+ module NotificationSettings
2
+ module NotificationLibrary
3
+
4
+ before_create :validate_create
5
+
6
+ belongs_to :subscription, class_name: 'NotificationSettings::Subscription', optional: true
7
+
8
+ def category
9
+ self[:category] || NotificationRenderer.configuration.default_category
10
+ end
11
+
12
+ private
13
+
14
+ def validate_create
15
+ valid = true
16
+
17
+ if self.target.notification_setting.present?
18
+ # Status
19
+ valid = false if NotificationSettings.configuration.do_not_notify_statuses.include?(self.target.notification_setting.status)
20
+
21
+ # Settings
22
+ valid = false if !self.target.notification_setting.settings.dig(:enabled)
23
+ ## Category
24
+ valid = false if !self.target.notification_setting.category_settings.dig(self.category.to_sym, :enabled)
25
+ end
26
+
27
+ valid
28
+ end
29
+
30
+ def validate_push
31
+ valid = true
32
+
33
+ if self.target.notification_setting.present?
34
+ # Status
35
+ valid = false if NotificationSettings.configuration.do_not_push_statuses.include?(self.target.notification_setting.status)
36
+
37
+ # Settings
38
+ if self.push.kind_of?(Array)
39
+ self.push.each do |pusher|
40
+ valid = false if !self.target.notification_setting.settings.dig(pusher.to_sym) || ( !self.target.notification_setting.settings.dig(:index) && self.target.notification_setting.settings.dig(pusher.to_sym).nil? )
41
+ ## Category
42
+ valid = false if !self.target.notification_setting.category_settings.dig(self.category.to_sym, pusher.to_sym) || ( !self.target.notification_setting.category_settings.dig(self.category.to_sym, :index) && self.target.notification_setting.category_settings.dig(self.category.to_sym, pusher.to_sym).nil? )
43
+ end
44
+ else
45
+ valid = false if !self.target.notification_setting.settings.dig(self.push.to_sym) || ( !self.target.notification_setting.settings.dig(:index) && self.target.notification_setting.settings.dig(self.push.to_sym).nil? )
46
+ ## Category
47
+ valid = false if !self.target.notification_setting.category_settings.dig(self.category.to_sym, self.push.to_sym) || ( !self.target.notification_setting.category_settings.dig(self.category.to_sym, :index) && self.target.notification_setting.category_settings.dig(self.category.to_sym, self.push.to_sym).nil? )
48
+ end
49
+ end
50
+
51
+ valid
52
+ end
53
+
54
+ def initialize_pusher
55
+ return unless validate_push
56
+ super
57
+ end
58
+
59
+ end
60
+ end
@@ -0,0 +1,17 @@
1
+ module NotificationSettings
2
+ module NotificationScopes
3
+
4
+ def method_missing m, *args
5
+ if m.to_s[/(.+)_category/]
6
+ where category: $1.singularize.classify
7
+ else
8
+ super
9
+ end
10
+ end
11
+
12
+ def respond_to? m, include_private = false
13
+ super || m.to_s[/(.+)_category/]
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ module NotificationSettings
2
+ module SettingLibrary
3
+
4
+ def status
5
+ if self.object.respond_to?(NotificationSettings.configuration.last_seen) && ( Time.now - self.object.send(NotificationSettings.configuration.last_seen) ).round >= NotificationSettings.configuration.idle_after && ( Time.now - self.object.send(NotificationSettings.configuration.last_seen) ).round < NotificationSettings.configuration.offline_after
6
+ default = 'idle'
7
+ elsif self.object.respond_to?(NotificationSettings.configuration.last_seen) && ( Time.now - self.object.send(NotificationSettings.configuration.last_seen) ).round >= NotificationSettings.configuration.offline_after
8
+ default = 'offline'
9
+ else
10
+ 'online'
11
+ end
12
+ self[:status] || default
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ module NotificationSettings
2
+ module Subscribable
3
+
4
+ has_many :notification_subscriptions, as: :subscribable, class_name: 'NotificationSettings::Subscription', dependent: :destroy
5
+ has_many :notification_subscribers, through: :notification_subscriptions, source: :subscriber
6
+
7
+ def notify_subscribers options = {}
8
+ options[:object] = self
9
+ self.notification_subscribers.each do |subscriber|
10
+ subscriber.notify options
11
+ end
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ module NotificationSettings
2
+ module Subscriber
3
+
4
+ has_many :notification_subscriptions, as: :subscriber, class_name: 'NotificationSettings::Subscription', dependent: :destroy
5
+ has_many :notification_subscribables, through: :notification_subscriptions, source: :subscribable
6
+
7
+ def subscribe options = {}
8
+ options[:subscriber] = self
9
+ NotificationSettings::Subscription.create options
10
+ end
11
+
12
+ def unsubscribe subscribable
13
+ subscription = self.notification_subscriptions.find_by subscribable_id: subscribable.id, subscribable_type: subscribable.class.to_s
14
+ subscription.destroy
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ module NotificationSettings
2
+ module SubscriptionLibrary
3
+
4
+ after_create_commit :create_notification_setting
5
+
6
+ private
7
+
8
+ def create_notification_setting
9
+ self.notification_setting.create!
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ module NotificationSettings
2
+ module Target
3
+
4
+ has_one :notification_setting, as: :object, class_name: 'NotificationSettings::Setting', dependent: :destroy
5
+
6
+ after_create_commit :create_notification_setting
7
+
8
+ private
9
+
10
+ def create_notification_setting
11
+ self.notification_setting.create!
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module NotificationSettings
2
+
3
+ require 'notification_settings/configuration'
4
+
5
+ require 'notification_settings/engine'
6
+
7
+ autoload :Target, 'notification_settings/target'
8
+ autoload :Subscriber, 'notification_settings/subscriber'
9
+ autoload :Subscribable, 'notification_settings/subscribable'
10
+ autoload :SettingLibrary, 'notification_settings/setting_library'
11
+ autoload :SubscriptionLibrary, 'notification_settings/subscription_library'
12
+ autoload :NotificationLibrary, 'notification_settings/notification_library'
13
+ autoload :NotificationScopes, 'notification_settings/notification_scopes'
14
+
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: notification-settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta6
4
+ version: 1.0.0.beta7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Hübotter
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0.beta6
33
+ version: 1.0.0.beta7
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0.beta6
40
+ version: 1.0.0.beta7
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,8 +73,23 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - CHANGELOG.md
76
77
  - LICENSE
77
78
  - README.md
79
+ - lib/generators/notification_settings/install_generator.rb
80
+ - lib/generators/templates/install/README.md
81
+ - lib/generators/templates/install/initializer.rb
82
+ - lib/generators/templates/install/notifications_migration.rb.erb
83
+ - lib/notification_settings.rb
84
+ - lib/notification_settings/configuration.rb
85
+ - lib/notification_settings/engine.rb
86
+ - lib/notification_settings/notification_library.rb
87
+ - lib/notification_settings/notification_scopes.rb
88
+ - lib/notification_settings/setting_library.rb
89
+ - lib/notification_settings/subscribable.rb
90
+ - lib/notification_settings/subscriber.rb
91
+ - lib/notification_settings/subscription_library.rb
92
+ - lib/notification_settings/target.rb
78
93
  homepage: https://github.com/jonhue/notifications-rails/tree/master/notification-settings
79
94
  licenses:
80
95
  - MIT
@@ -82,7 +97,7 @@ metadata: {}
82
97
  post_install_message:
83
98
  rdoc_options: []
84
99
  require_paths:
85
- - lib/notification_settings.rb
100
+ - lib
86
101
  required_ruby_version: !ruby/object:Gem::Requirement
87
102
  requirements:
88
103
  - - ">="