activity_notification 1.3.0 → 1.4.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 +4 -4
- data/.travis.yml +41 -5
- data/CHANGELOG.md +20 -0
- data/Gemfile +4 -1
- data/Gemfile.lock +81 -70
- data/README.md +152 -12
- data/activity_notification.gemspec +6 -4
- data/gemfiles/Gemfile.rails-4.2.lock +27 -22
- data/gemfiles/Gemfile.rails-5.0.lock +26 -21
- data/gemfiles/Gemfile.rails-5.1 +15 -0
- data/gemfiles/Gemfile.rails-5.1.lock +229 -0
- data/lib/activity_notification/apis/notification_api.rb +2 -2
- data/lib/activity_notification/apis/subscription_api.rb +7 -7
- data/lib/activity_notification/controllers/common_controller.rb +2 -2
- data/lib/activity_notification/helpers/view_helpers.rb +1 -1
- data/lib/activity_notification/models/concerns/notifiable.rb +19 -1
- data/lib/activity_notification/models/concerns/target.rb +5 -3
- data/lib/activity_notification/orm/active_record/notification.rb +3 -1
- data/lib/activity_notification/orm/active_record/subscription.rb +3 -1
- data/lib/activity_notification/orm/mongoid.rb +2 -2
- data/lib/activity_notification/renderable.rb +1 -1
- data/lib/activity_notification/roles/acts_as_notifiable.rb +98 -17
- data/lib/activity_notification/version.rb +1 -1
- data/spec/concerns/apis/notification_api_spec.rb +9 -8
- data/spec/concerns/apis/subscription_api_spec.rb +28 -28
- data/spec/concerns/models/notifier_spec.rb +1 -1
- data/spec/concerns/models/subscriber_spec.rb +7 -7
- data/spec/concerns/models/target_spec.rb +20 -20
- data/spec/controllers/notifications_controller_shared_examples.rb +19 -8
- data/spec/controllers/subscriptions_controller_shared_examples.rb +16 -5
- data/spec/models/notification_spec.rb +4 -4
- data/spec/models/subscription_spec.rb +16 -12
- data/spec/rails_app/app/controllers/articles_controller.rb +1 -1
- data/spec/rails_app/app/controllers/comments_controller.rb +0 -1
- data/spec/rails_app/app/models/admin.rb +29 -8
- data/spec/rails_app/app/models/article.rb +45 -13
- data/spec/rails_app/app/models/comment.rb +107 -42
- data/spec/rails_app/app/models/user.rb +45 -12
- data/spec/rails_app/app/views/layouts/_header.html.erb +1 -0
- data/spec/rails_app/config/database.yml +26 -15
- data/spec/rails_app/config/initializers/devise.rb +5 -1
- data/spec/rails_app/db/migrate/20160715050420_create_activity_notification_tables.rb +1 -1
- data/spec/rails_app/db/migrate/20160715050433_create_test_tables.rb +1 -1
- data/spec/rails_app/db/seeds.rb +31 -8
- data/spec/roles/acts_as_notifiable_spec.rb +154 -1
- data/spec/spec_helper.rb +7 -2
- metadata +47 -17
@@ -1,14 +1,47 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
admin
|
1
|
+
if ENV['AN_TEST_DB'] != 'mongodb'
|
2
|
+
class User < ActiveRecord::Base
|
3
|
+
devise :database_authenticatable, :registerable, :confirmable
|
4
|
+
validates :email, presence: true
|
5
|
+
has_many :articles, dependent: :destroy
|
6
|
+
has_one :admin, dependent: :destroy
|
7
|
+
|
8
|
+
acts_as_target email: :email, email_allowed: :confirmed_at, batch_email_allowed: :confirmed_at,
|
9
|
+
subscription_allowed: true, printable_name: :name
|
10
|
+
acts_as_notifier printable_name: :name
|
11
|
+
|
12
|
+
def admin?
|
13
|
+
admin.present?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
else
|
17
|
+
require 'mongoid'
|
18
|
+
class User
|
19
|
+
include Mongoid::Document
|
20
|
+
include Mongoid::Timestamps
|
21
|
+
include GlobalID::Identification
|
22
|
+
|
23
|
+
devise :database_authenticatable, :registerable, :confirmable
|
24
|
+
has_many :articles, dependent: :destroy
|
25
|
+
has_one :admin, dependent: :destroy
|
26
|
+
validates :email, presence: true
|
27
|
+
# Devise
|
28
|
+
## Database authenticatable
|
29
|
+
field :email, type: String, default: ""
|
30
|
+
field :encrypted_password, type: String, default: ""
|
31
|
+
## Confirmable
|
32
|
+
field :confirmation_token, type: String
|
33
|
+
field :confirmed_at, type: Time
|
34
|
+
field :confirmation_sent_at, type: Time
|
35
|
+
# Apps
|
36
|
+
field :name, type: String
|
37
|
+
|
38
|
+
include ActivityNotification::Models
|
39
|
+
acts_as_target email: :email, email_allowed: :confirmed_at, batch_email_allowed: :confirmed_at,
|
40
|
+
subscription_allowed: true, printable_name: :name
|
41
|
+
acts_as_notifier printable_name: :name
|
42
|
+
|
43
|
+
def admin?
|
44
|
+
admin.present?
|
45
|
+
end
|
13
46
|
end
|
14
47
|
end
|
@@ -26,6 +26,7 @@
|
|
26
26
|
<% if user_signed_in? %>
|
27
27
|
<%= render_notifications_of current_user, fallback: :default, index_content: :with_attributes %>
|
28
28
|
<%#= render_notifications_of current_user, fallback: :default, index_content: :unopened_with_attributes, reverse: true %>
|
29
|
+
<%#= render_notifications_of current_user, fallback: :default, index_content: :with_attributes, as_latest_group_member: true %>
|
29
30
|
<%#= render_notifications_of current_user, fallback: :default_without_grouping, index_content: :with_attributes, with_group_members: true %>
|
30
31
|
<% end %>
|
31
32
|
</div>
|
@@ -1,25 +1,36 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
sqlite: &sqlite
|
2
|
+
adapter: sqlite3
|
3
|
+
database: <%= Rails.env.test? ? '":memory:"' : "db/#{Rails.env}.sqlite3" %>
|
4
|
+
|
5
|
+
mysql: &mysql
|
6
|
+
adapter: mysql2
|
7
|
+
database: activity_notification_<%= Rails.env %>
|
8
|
+
username: root
|
9
|
+
password:
|
10
|
+
encoding: utf8
|
11
|
+
|
12
|
+
postgresql: &postgresql
|
13
|
+
adapter: postgresql
|
14
|
+
database: activity_notification_<%= Rails.env %>
|
15
|
+
username: postgres
|
16
|
+
password:
|
17
|
+
min_messages: ERROR
|
18
|
+
|
19
|
+
mongodb: &mongodb
|
8
20
|
adapter: sqlite3
|
21
|
+
database: <%= Rails.env.test? ? '":memory:"' : "db/#{Rails.env}.sqlite3" %>
|
22
|
+
|
23
|
+
default: &default
|
9
24
|
pool: 5
|
10
25
|
timeout: 5000
|
26
|
+
host: localhost
|
27
|
+
<<: *<%= ENV['AN_TEST_DB'].blank? ? "sqlite" : ENV['AN_TEST_DB'] %>
|
11
28
|
|
12
29
|
development:
|
13
30
|
<<: *default
|
14
|
-
database: db/development.sqlite3
|
15
31
|
|
16
|
-
# Warning: The database defined as "test" will be erased and
|
17
|
-
# re-generated from your development database when you run "rake".
|
18
|
-
# Do not set this db to the same as development or production.
|
19
32
|
test:
|
20
|
-
|
21
|
-
database: ":memory:"
|
33
|
+
<<: *default
|
22
34
|
|
23
35
|
production:
|
24
|
-
|
25
|
-
database: ":memory:"
|
36
|
+
<<: *default
|
@@ -24,7 +24,11 @@ Devise.setup do |config|
|
|
24
24
|
# Load and configure the ORM. Supports :active_record (default) and
|
25
25
|
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
26
26
|
# available as additional gems.
|
27
|
-
|
27
|
+
if ENV['AN_TEST_DB'] == 'mongodb'
|
28
|
+
require 'devise/orm/mongoid'
|
29
|
+
else
|
30
|
+
require 'devise/orm/active_record'
|
31
|
+
end
|
28
32
|
|
29
33
|
# ==> Configuration for any authentication mechanism
|
30
34
|
# Configure which keys are used when authenticating a user. The default is
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Migration responsible for creating a table with notifications
|
2
|
-
class CreateActivityNotificationTables < ActiveRecord::Migration
|
2
|
+
class CreateActivityNotificationTables < ActiveRecord::Migration[5.1]
|
3
3
|
# Create tables
|
4
4
|
def change
|
5
5
|
create_table :notifications do |t|
|
data/spec/rails_app/db/seeds.rb
CHANGED
@@ -1,13 +1,36 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# This file is seed file for test data on development environment.
|
3
3
|
|
4
|
-
|
5
|
-
ActivityNotification::Subscription.
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
def clear_database
|
5
|
+
[ActivityNotification::Notification, ActivityNotification::Subscription, Comment, Article, Admin, User].each do |model|
|
6
|
+
model.delete_all
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def reset_pk_sequence
|
11
|
+
models = [Comment, Article, Admin, User]
|
12
|
+
if ActivityNotification.config.orm == :active_record
|
13
|
+
models.concat([ActivityNotification::Notification, ActivityNotification::Subscription])
|
14
|
+
end
|
15
|
+
case ENV['AN_TEST_DB']
|
16
|
+
when nil, '', 'sqlite'
|
17
|
+
ActiveRecord::Base.connection.execute("UPDATE sqlite_sequence SET seq = 0")
|
18
|
+
when 'mysql'
|
19
|
+
models.each do |model|
|
20
|
+
ActiveRecord::Base.connection.execute("ALTER TABLE #{model.table_name} AUTO_INCREMENT = 1")
|
21
|
+
end
|
22
|
+
when 'postgresql'
|
23
|
+
models.each do |model|
|
24
|
+
ActiveRecord::Base.connection.reset_pk_sequence!(model.table_name)
|
25
|
+
end
|
26
|
+
when 'mongodb'
|
27
|
+
else
|
28
|
+
raise "#{ENV['AN_TEST_DB']} as AN_TEST_DB environment variable is not supported"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
clear_database
|
33
|
+
reset_pk_sequence
|
11
34
|
|
12
35
|
['Ichiro', 'Stephen', 'Klay', 'Kevin'].each do |name|
|
13
36
|
user = User.new(
|
@@ -21,7 +44,7 @@ User.connection.execute("UPDATE sqlite_sequence SET seq = 0;")
|
|
21
44
|
end
|
22
45
|
|
23
46
|
['Ichiro'].each do |name|
|
24
|
-
user = User.
|
47
|
+
user = User.find_by(name: name)
|
25
48
|
Admin.create(
|
26
49
|
user: user,
|
27
50
|
phone_number: ENV['OPTIONAL_TARGET_AMAZON_SNS_PHONE_NUMBER'],
|
@@ -8,6 +8,9 @@ describe ActivityNotification::ActsAsNotifiable do
|
|
8
8
|
describe ".acts_as_notifiable" do
|
9
9
|
before do
|
10
10
|
dummy_notifiable_class.set_notifiable_class_defaults
|
11
|
+
dummy_notifiable_class.reset_callbacks :create
|
12
|
+
dummy_notifiable_class.reset_callbacks :update
|
13
|
+
dummy_notifiable_class.reset_callbacks :destroy
|
11
14
|
@notifiable = dummy_notifiable_class.create
|
12
15
|
end
|
13
16
|
|
@@ -27,9 +30,159 @@ describe ActivityNotification::ActsAsNotifiable do
|
|
27
30
|
end
|
28
31
|
end
|
29
32
|
|
33
|
+
context "with :tracked option" do
|
34
|
+
before do
|
35
|
+
user_target.notifications.delete_all
|
36
|
+
expect(user_target.notifications.count).to eq(0)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "returns hash of :tracked option" do
|
40
|
+
expect(dummy_notifiable_class.acts_as_notifiable :users, tracked: true)
|
41
|
+
.to eq({ tracked: [:create, :update] })
|
42
|
+
end
|
43
|
+
|
44
|
+
context "without option" do
|
45
|
+
it "does not generate notifications when notifiable is created and updated" do
|
46
|
+
dummy_notifiable_class.acts_as_notifiable :users, targets: [user_target]
|
47
|
+
notifiable = dummy_notifiable_class.create
|
48
|
+
notifiable.update(created_at: notifiable.created_at + 10.second)
|
49
|
+
expect(user_target.notifications.filtered_by_instance(notifiable).count).to eq(0)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context "true as :tracked" do
|
54
|
+
before do
|
55
|
+
dummy_notifiable_class.acts_as_notifiable :users, targets: [user_target], tracked: true
|
56
|
+
@created_notifiable = dummy_notifiable_class.create
|
57
|
+
end
|
58
|
+
|
59
|
+
context "creation" do
|
60
|
+
it "generates notifications when notifiable is created" do
|
61
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).count).to eq(1)
|
62
|
+
end
|
63
|
+
|
64
|
+
it "generated notification has notification_key_for_tracked_creation as key" do
|
65
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).latest.key)
|
66
|
+
.to eq(@created_notifiable.notification_key_for_tracked_creation)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context "update" do
|
71
|
+
before do
|
72
|
+
user_target.notifications.delete_all
|
73
|
+
expect(user_target.notifications.count).to eq(0)
|
74
|
+
@notifiable.update(created_at: @notifiable.created_at + 10.second)
|
75
|
+
end
|
76
|
+
|
77
|
+
it "generates notifications when notifiable is updated" do
|
78
|
+
expect(user_target.notifications.filtered_by_instance(@notifiable).count).to eq(1)
|
79
|
+
end
|
80
|
+
|
81
|
+
it "generated notification has notification_key_for_tracked_update as key" do
|
82
|
+
expect(user_target.notifications.filtered_by_instance(@notifiable).first.key)
|
83
|
+
.to eq(@notifiable.notification_key_for_tracked_update)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "with :only option (creation only)" do
|
89
|
+
before do
|
90
|
+
dummy_notifiable_class.acts_as_notifiable :users, targets: [user_target], tracked: { only: [:create] }
|
91
|
+
@created_notifiable = dummy_notifiable_class.create
|
92
|
+
end
|
93
|
+
|
94
|
+
context "creation" do
|
95
|
+
it "generates notifications when notifiable is created" do
|
96
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).count).to eq(1)
|
97
|
+
end
|
98
|
+
|
99
|
+
it "generated notification has notification_key_for_tracked_creation as key" do
|
100
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).latest.key)
|
101
|
+
.to eq(@created_notifiable.notification_key_for_tracked_creation)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
context "update" do
|
106
|
+
before do
|
107
|
+
user_target.notifications.delete_all
|
108
|
+
expect(user_target.notifications.count).to eq(0)
|
109
|
+
@notifiable.update(created_at: @notifiable.created_at + 10.second)
|
110
|
+
end
|
111
|
+
|
112
|
+
it "does not generate notifications when notifiable is updated" do
|
113
|
+
expect(user_target.notifications.filtered_by_instance(@notifiable).count).to eq(0)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
context "with :except option (except update)" do
|
119
|
+
before do
|
120
|
+
dummy_notifiable_class.acts_as_notifiable :users, targets: [user_target], tracked: { except: [:update] }
|
121
|
+
@created_notifiable = dummy_notifiable_class.create
|
122
|
+
end
|
123
|
+
|
124
|
+
context "creation" do
|
125
|
+
it "generates notifications when notifiable is created" do
|
126
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).count).to eq(1)
|
127
|
+
end
|
128
|
+
|
129
|
+
it "generated notification has notification_key_for_tracked_creation as key" do
|
130
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).latest.key)
|
131
|
+
.to eq(@created_notifiable.notification_key_for_tracked_creation)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
context "update" do
|
136
|
+
before do
|
137
|
+
user_target.notifications.delete_all
|
138
|
+
expect(user_target.notifications.count).to eq(0)
|
139
|
+
@notifiable.update(created_at: @notifiable.created_at + 10.second)
|
140
|
+
end
|
141
|
+
|
142
|
+
it "does not generate notifications when notifiable is updated" do
|
143
|
+
expect(user_target.notifications.filtered_by_instance(@notifiable).count).to eq(0)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
context "with :key option" do
|
149
|
+
before do
|
150
|
+
dummy_notifiable_class.acts_as_notifiable :users, targets: [user_target], tracked: { key: "test.key" }
|
151
|
+
@created_notifiable = dummy_notifiable_class.create
|
152
|
+
end
|
153
|
+
|
154
|
+
context "creation" do
|
155
|
+
it "generates notifications when notifiable is created" do
|
156
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).count).to eq(1)
|
157
|
+
end
|
158
|
+
|
159
|
+
it "generated notification has specified key" do
|
160
|
+
expect(user_target.notifications.filtered_by_instance(@created_notifiable).latest.key)
|
161
|
+
.to eq("test.key")
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
context "update" do
|
166
|
+
before do
|
167
|
+
user_target.notifications.delete_all
|
168
|
+
expect(user_target.notifications.count).to eq(0)
|
169
|
+
@notifiable.update(created_at: @notifiable.created_at + 10.second)
|
170
|
+
end
|
171
|
+
|
172
|
+
it "generates notifications when notifiable is updated" do
|
173
|
+
expect(user_target.notifications.filtered_by_instance(@notifiable).count).to eq(1)
|
174
|
+
end
|
175
|
+
|
176
|
+
it "generated notification has notification_key_for_tracked_update as key" do
|
177
|
+
expect(user_target.notifications.filtered_by_instance(@notifiable).first.key)
|
178
|
+
.to eq("test.key")
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
30
184
|
context "with :dependent_notifications option" do
|
31
185
|
before do
|
32
|
-
dummy_notifiable_class.reset_callbacks :destroy
|
33
186
|
@notifiable_1, @notifiable_2, @notifiable_3 = dummy_notifiable_class.create, dummy_notifiable_class.create, dummy_notifiable_class.create
|
34
187
|
@group_owner = create(:notification, target: user_target, notifiable: @notifiable_1, group: @notifiable_1)
|
35
188
|
@group_member = create(:notification, target: user_target, notifiable: @notifiable_2, group: @notifiable_1, group_owner: @group_owner)
|
data/spec/spec_helper.rb
CHANGED
@@ -40,12 +40,17 @@ require 'activity_notification'
|
|
40
40
|
# For active record ORM
|
41
41
|
require 'active_record'
|
42
42
|
|
43
|
+
def clear_database
|
44
|
+
[ActivityNotification::Notification, ActivityNotification::Subscription, Comment, Article, Admin, User].each do |model_class|
|
45
|
+
model_class.delete_all
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
43
49
|
RSpec.configure do |config|
|
44
50
|
config.include FactoryGirl::Syntax::Methods
|
45
51
|
config.before(:all) do
|
46
52
|
FactoryGirl.reload
|
47
|
-
|
48
|
-
ActivityNotification::Subscription.delete_all
|
53
|
+
clear_database
|
49
54
|
end
|
50
55
|
config.include Devise::Test::ControllerHelpers, type: :controller
|
51
56
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activity_notification
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shota Yamazaki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: 4.2.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '5.
|
22
|
+
version: '5.2'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: 4.2.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '5.
|
32
|
+
version: '5.2'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: activerecord
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,47 +73,75 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 3.1.1
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: sqlite3
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- - "
|
79
|
+
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
81
|
+
version: 1.3.13
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- - "
|
86
|
+
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
88
|
+
version: 1.3.13
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
90
|
+
name: mysql2
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
95
|
+
version: 0.4.6
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
102
|
+
version: 0.4.6
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: pg
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.20.0
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 0.20.0
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: mongoid
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 4.0.0
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 4.0.0
|
103
131
|
- !ruby/object:Gem::Dependency
|
104
132
|
name: rspec-rails
|
105
133
|
requirement: !ruby/object:Gem::Requirement
|
106
134
|
requirements:
|
107
135
|
- - "~>"
|
108
136
|
- !ruby/object:Gem::Version
|
109
|
-
version: 3.5.
|
137
|
+
version: 3.5.2
|
110
138
|
type: :development
|
111
139
|
prerelease: false
|
112
140
|
version_requirements: !ruby/object:Gem::Requirement
|
113
141
|
requirements:
|
114
142
|
- - "~>"
|
115
143
|
- !ruby/object:Gem::Version
|
116
|
-
version: 3.5.
|
144
|
+
version: 3.5.2
|
117
145
|
- !ruby/object:Gem::Dependency
|
118
146
|
name: factory_girl_rails
|
119
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,14 +176,14 @@ dependencies:
|
|
148
176
|
requirements:
|
149
177
|
- - "~>"
|
150
178
|
- !ruby/object:Gem::Version
|
151
|
-
version: 0.9.
|
179
|
+
version: 0.9.9
|
152
180
|
type: :development
|
153
181
|
prerelease: false
|
154
182
|
version_requirements: !ruby/object:Gem::Requirement
|
155
183
|
requirements:
|
156
184
|
- - "~>"
|
157
185
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.9.
|
186
|
+
version: 0.9.9
|
159
187
|
- !ruby/object:Gem::Dependency
|
160
188
|
name: yard-activesupport-concern
|
161
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -272,6 +300,8 @@ files:
|
|
272
300
|
- gemfiles/Gemfile.rails-4.2.lock
|
273
301
|
- gemfiles/Gemfile.rails-5.0
|
274
302
|
- gemfiles/Gemfile.rails-5.0.lock
|
303
|
+
- gemfiles/Gemfile.rails-5.1
|
304
|
+
- gemfiles/Gemfile.rails-5.1.lock
|
275
305
|
- lib/activity_notification.rb
|
276
306
|
- lib/activity_notification/apis/notification_api.rb
|
277
307
|
- lib/activity_notification/apis/subscription_api.rb
|
@@ -476,7 +506,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
476
506
|
version: '0'
|
477
507
|
requirements: []
|
478
508
|
rubyforge_project:
|
479
|
-
rubygems_version: 2.
|
509
|
+
rubygems_version: 2.6.11
|
480
510
|
signing_key:
|
481
511
|
specification_version: 4
|
482
512
|
summary: Integrated user activity notifications for Ruby on Rails
|