eventifier 0.0.14 → 0.1.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/Gemfile +1 -1
- data/README.textile +32 -4
- data/app/assets/javascripts/eventifier/notifications.coffee +29 -5
- data/app/assets/javascripts/eventifier/templates/dropdown.hamlc +1 -1
- data/app/assets/stylesheets/eventifier/notifications.scss +1 -1
- data/app/controllers/eventifier/preferences_controller.rb +7 -9
- data/app/helpers/eventifier/notification_helper.rb +1 -1
- data/app/helpers/eventifier/path_helper.rb +2 -2
- data/app/models/eventifier/event.rb +1 -3
- data/app/models/eventifier/notification.rb +0 -2
- data/app/models/eventifier/notification_setting.rb +0 -2
- data/app/views/eventifier/notifications/index.jbuilder +2 -2
- data/db/migrate/5_system_events.rb +9 -0
- data/eventifier.gemspec +7 -5
- data/lib/eventifier.rb +2 -0
- data/lib/eventifier/event_builder.rb +4 -1
- data/lib/eventifier/notification_translator.rb +27 -5
- data/lib/eventifier/notifier/notification_subscriber.rb +6 -6
- data/lib/eventifier/notifier/notifier.rb +5 -5
- data/lib/eventifier/preferences.rb +14 -0
- data/lib/eventifier/tracker.rb +7 -0
- data/lib/generators/eventifier/install/install_generator.rb +1 -1
- data/lib/generators/eventifier/install/templates/{events.en.yaml → events.en.yml} +3 -0
- data/spec/controllers/eventifier/notifications_controller_spec.rb +3 -1
- data/spec/controllers/eventifier/preferences_controller_spec.rb +5 -23
- data/spec/event_tracking_spec.rb +2 -2
- data/spec/eventifier/notification_translator_spec.rb +118 -0
- data/spec/eventifier/preferences_spec.rb +47 -10
- data/spec/eventifier/relationship_spec.rb +8 -8
- data/spec/eventifier_spec.rb +14 -10
- data/spec/helpers/eventifier/notification_helper_spec.rb +13 -13
- data/spec/helpers/eventifier/path_helper_spec.rb +3 -3
- data/spec/integration/eventifier_spec.rb +11 -11
- data/spec/integration/internationalisation_spec.rb +4 -4
- data/spec/integration/system_events_spec.rb +40 -0
- data/spec/models/eventifier/event_spec.rb +1 -1
- data/spec/models/eventifier/ghost_spec.rb +3 -4
- data/spec/models/eventifier/notification_spec.rb +3 -3
- data/spec/notifier/notification_mapping_spec.rb +3 -3
- metadata +61 -41
@@ -20,21 +20,21 @@ describe Eventifier::NotificationHelper do
|
|
20
20
|
describe "#notification_message" do
|
21
21
|
it "should return the I18n message for that event" do
|
22
22
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :create)
|
23
|
-
helper.notification_message(event).
|
23
|
+
expect(helper.notification_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> just created an Post - you should check it out"
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should return a message specific to a single change if only 1 change has been made" do
|
27
27
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :update, :change_data => { :name => ["Fred", "Mike"] })
|
28
|
-
helper.notification_message(event).
|
28
|
+
expect(helper.notification_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> made a change to their Post"
|
29
29
|
end
|
30
30
|
it "should return a message specific to a particular field change if configuration is present" do
|
31
31
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :update, :change_data => { :deleted_at => [nil, Time.now] })
|
32
|
-
helper.notification_message(event).
|
32
|
+
expect(helper.notification_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> deleted their Post"
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should return a message specific to multiple changes if more than 1 change has been made" do
|
36
36
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :update, :change_data => { :name => ["Fred", "Mike"], :age => [55, 65] })
|
37
|
-
helper.notification_message(event).
|
37
|
+
expect(helper.notification_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> made some changes to their Post"
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should return the default I18n message if one doesn't exist" do
|
@@ -48,7 +48,7 @@ describe Eventifier::NotificationHelper do
|
|
48
48
|
I18n.backend.store_translations :test, :notifications => @notification_strings
|
49
49
|
I18n.with_locale("test") do
|
50
50
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :create)
|
51
|
-
helper.notification_message(event).
|
51
|
+
expect(helper.notification_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> created a <strong>Post</strong>"
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
@@ -67,12 +67,12 @@ describe Eventifier::NotificationHelper do
|
|
67
67
|
|
68
68
|
it "should replace {{stuff}} with awesome" do
|
69
69
|
message = "I'm really loving {{eventable.title}}"
|
70
|
-
helper.replace_vars(message, event).
|
70
|
+
expect(helper.replace_vars(message, event)).to eq "I'm really loving <strong>#{event.eventable.title}</strong>"
|
71
71
|
end
|
72
72
|
|
73
73
|
it "should replace multiple {{stuff}} with multiple awesome" do
|
74
74
|
message = "I'm really loving {{eventable.title}} and all {{eventable.class.name}}s"
|
75
|
-
helper.replace_vars(message, event).
|
75
|
+
expect(helper.replace_vars(message, event)).to eq "I'm really loving <strong>#{event.eventable.title}</strong> and all <strong>Post</strong>s"
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
@@ -81,8 +81,8 @@ describe Eventifier::NotificationHelper do
|
|
81
81
|
it "should add some handy methods to an event instance" do
|
82
82
|
event = Fabricate(:event)
|
83
83
|
event = helper.load_event_for_template event
|
84
|
-
event.object.
|
85
|
-
event.object_type.
|
84
|
+
expect(event.object).to eq event.eventable
|
85
|
+
expect(event.object_type).to eq event.eventable_type
|
86
86
|
end
|
87
87
|
|
88
88
|
end
|
@@ -148,12 +148,12 @@ describe Eventifier::NotificationHelper do
|
|
148
148
|
|
149
149
|
it "should replace {{stuff}} with awesome" do
|
150
150
|
message = "I'm really loving {{eventable.title}}"
|
151
|
-
helper.replace_vars(message, event).
|
151
|
+
expect(helper.replace_vars(message, event)).to eq "I'm really loving <strong>#{event.eventable.title}</strong>"
|
152
152
|
end
|
153
153
|
|
154
154
|
it "should replace multiple {{stuff}} with multiple awesome" do
|
155
155
|
message = "I'm really loving {{eventable.title}} and all {{eventable.class.name}}s"
|
156
|
-
helper.replace_vars(message, event).
|
156
|
+
expect(helper.replace_vars(message, event)).to eq "I'm really loving <strong>#{event.eventable.title}</strong> and all <strong>Post</strong>s"
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
@@ -161,8 +161,8 @@ describe Eventifier::NotificationHelper do
|
|
161
161
|
it "should add some handy methods to an event instance" do
|
162
162
|
event = Fabricate(:event)
|
163
163
|
event = helper.load_event_for_template event
|
164
|
-
event.object.
|
165
|
-
event.object_type.
|
164
|
+
expect(event.object).to eq event.eventable
|
165
|
+
expect(event.object_type).to eq event.eventable_type
|
166
166
|
end
|
167
167
|
end
|
168
168
|
end
|
@@ -5,15 +5,15 @@ describe Eventifier::PathHelper do
|
|
5
5
|
|
6
6
|
describe "partial_path" do
|
7
7
|
it "returns an app view path with context in the path" do
|
8
|
-
helper.partial_path(notification, :donkey).
|
8
|
+
expect( helper.partial_path(notification, :donkey)).to eq'eventifier/donkey/notification'
|
9
9
|
end
|
10
10
|
|
11
11
|
it "returns an app view if it's defined" do
|
12
|
-
helper.partial_path(notification, :dropdown).
|
12
|
+
expect( helper.partial_path(notification, :dropdown)).to eq'eventifier/dropdown/awesome_object'
|
13
13
|
end
|
14
14
|
|
15
15
|
it "returns the default view if not defined" do
|
16
|
-
helper.partial_path(notification).
|
16
|
+
expect( helper.partial_path(notification)).to eq'eventifier/notification'
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -7,7 +7,7 @@ describe Eventifier do
|
|
7
7
|
notify :readers, :on => [:create, :update]
|
8
8
|
end
|
9
9
|
|
10
|
-
Eventifier.tracked_classes.
|
10
|
+
expect(Eventifier.tracked_classes).to eq [Post]
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
@@ -45,18 +45,18 @@ describe 'event tracking' do
|
|
45
45
|
it "does not store a notification for the post creator" do
|
46
46
|
post.save
|
47
47
|
|
48
|
-
Eventifier::Notification.where(
|
48
|
+
expect(Eventifier::Notification.where(
|
49
49
|
:event_id => event.id, :user_id => owner.id
|
50
|
-
|
50
|
+
).count).to eq 0
|
51
51
|
end
|
52
52
|
|
53
53
|
it "stores notifications for the reader" do
|
54
54
|
post.save
|
55
55
|
|
56
56
|
[reader1, reader2].each do |reader|
|
57
|
-
Eventifier::Notification.where(
|
57
|
+
expect(Eventifier::Notification.where(
|
58
58
|
:event_id => event.id, :user_id => reader.id
|
59
|
-
).count.
|
59
|
+
).count).to eq 1
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
@@ -76,7 +76,7 @@ describe 'event tracking' do
|
|
76
76
|
it "stores the post as the groupable object" do
|
77
77
|
post.save
|
78
78
|
|
79
|
-
event.groupable.
|
79
|
+
expect(event.groupable).to eq post
|
80
80
|
end
|
81
81
|
|
82
82
|
it "deletes the event when the post is destroyed" do
|
@@ -112,18 +112,18 @@ describe 'event tracking' do
|
|
112
112
|
it "does not store a notification for the post creator" do
|
113
113
|
post.update_attribute(:title, 'something else')
|
114
114
|
|
115
|
-
Eventifier::Notification.where(
|
115
|
+
expect(Eventifier::Notification.where(
|
116
116
|
:event_id => event.id, :user_id => owner.id
|
117
|
-
).count.
|
117
|
+
).count).to eq 0
|
118
118
|
end
|
119
119
|
|
120
120
|
it "stores notifications for the reader" do
|
121
121
|
post.update_attribute(:title, 'something else')
|
122
122
|
|
123
123
|
[reader1, reader2].each do |reader|
|
124
|
-
Eventifier::Notification.where(
|
124
|
+
expect(Eventifier::Notification.where(
|
125
125
|
:event_id => event.id, :user_id => reader.id
|
126
|
-
).count.
|
126
|
+
).count).to eq 1
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
@@ -131,7 +131,7 @@ describe 'event tracking' do
|
|
131
131
|
post.update_attribute(:title, 'somethang')
|
132
132
|
|
133
133
|
[reader1, reader2].each do |reader|
|
134
|
-
reader.notifications.count.
|
134
|
+
expect(reader.notifications.count).to eq 1
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
@@ -9,17 +9,17 @@ describe "Internationalisation" do
|
|
9
9
|
|
10
10
|
it "should return the I18n message for that event" do
|
11
11
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :create)
|
12
|
-
helper.event_message(event).
|
12
|
+
expect(helper.event_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> just created a new post - you should check it out"
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should return a message specific to a single change if only 1 change has been made" do
|
16
16
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :update, :change_data => { :name => ["Fred", "Mike"] })
|
17
|
-
helper.event_message(event).
|
17
|
+
expect(helper.event_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> made a change to their post"
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should return a message specific to multiple changes if more than 1 change has been made" do
|
21
21
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :update, :change_data => { :name => ["Fred", "Mike"], :age => [55, 65] })
|
22
|
-
helper.event_message(event).
|
22
|
+
expect(helper.event_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> made some changes to their post"
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should return the default I18n message if one doesn't exist" do
|
@@ -33,7 +33,7 @@ describe "Internationalisation" do
|
|
33
33
|
|
34
34
|
I18n.with_locale("test") do
|
35
35
|
event = Fabricate(:event, :eventable => Fabricate(:post), :verb => :create)
|
36
|
-
helper.event_message(event).
|
36
|
+
expect(helper.event_message(event)).to eq "<strong class='user'>#{event.user.name}</strong> created a <strong>Post</strong>"
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'System Events' do
|
4
|
+
let(:owner) { Fabricate(:user) }
|
5
|
+
let(:reader) { Fabricate(:user) }
|
6
|
+
let(:post) { Fabricate(:post, :author => owner) }
|
7
|
+
let(:event) {
|
8
|
+
Eventifier::Event.where(
|
9
|
+
:verb => :log, :system => true, user_id: nil,
|
10
|
+
:eventable_type => 'Post', :eventable_id => post.id
|
11
|
+
).first
|
12
|
+
}
|
13
|
+
|
14
|
+
before do
|
15
|
+
Subscription.create! user: owner, post: post
|
16
|
+
Subscription.create! user: reader, post: post
|
17
|
+
|
18
|
+
Eventifier::Notifier.new [Post], :readers, on: :log
|
19
|
+
end
|
20
|
+
|
21
|
+
it "logs an event" do
|
22
|
+
Eventifier::EventBuilder.store post, nil, :log, nil, system: true
|
23
|
+
|
24
|
+
event.should be_present
|
25
|
+
end
|
26
|
+
|
27
|
+
it "stores notifications for the readers" do
|
28
|
+
Eventifier::EventBuilder.store post, nil, :log, nil, system: true
|
29
|
+
ActiveSupport::Notifications.instrument(
|
30
|
+
"log.posts.notification.eventifier",
|
31
|
+
verb: :log, event: event, object: post
|
32
|
+
)
|
33
|
+
|
34
|
+
[owner, reader].each do |user|
|
35
|
+
expect(Eventifier::Notification.where(
|
36
|
+
:event_id => event.id, :user_id => user.id
|
37
|
+
).count).to eq 1
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -17,7 +17,7 @@ describe Eventifier::Event do
|
|
17
17
|
alpha = Fabricate :event, :eventable => eventable
|
18
18
|
beta = Fabricate :event, :eventable => Fabricate(:user)
|
19
19
|
|
20
|
-
Eventifier::Event.find_all_by_eventable(eventable).
|
20
|
+
expect(Eventifier::Event.find_all_by_eventable(eventable)).to eq [alpha]
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -21,10 +21,9 @@ describe Eventifier::Ghost do
|
|
21
21
|
subject { Fabricate.build(:ghost, :data_hash => post.serializable_hash) }
|
22
22
|
|
23
23
|
it "should be an object with the attributes of the undeleted object" do
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
subject.ghost.attributes.except("_type").should == post.serializable_hash
|
24
|
+
expect(subject.ghost.class).to eq Post
|
25
|
+
expect(subject.ghost.attributes.except("_type")).
|
26
|
+
to eq post.serializable_hash
|
28
27
|
end
|
29
28
|
end
|
30
29
|
end
|
@@ -53,7 +53,7 @@ describe Eventifier::Notification do
|
|
53
53
|
context 'when the user has never read notifications' do
|
54
54
|
let(:last_read) { nil }
|
55
55
|
it 'should return true' do
|
56
|
-
subject.should
|
56
|
+
subject.should be_truthy
|
57
57
|
end
|
58
58
|
end
|
59
59
|
context 'when the user has read notifications before' do
|
@@ -61,12 +61,12 @@ describe Eventifier::Notification do
|
|
61
61
|
describe 'notificication newer than that time' do
|
62
62
|
let(:last_read) { Time.now - 1.day }
|
63
63
|
|
64
|
-
it { should
|
64
|
+
it { should be_truthy }
|
65
65
|
end
|
66
66
|
describe 'notificication older than that time' do
|
67
67
|
let(:last_read) { Time.now + 1.day }
|
68
68
|
|
69
|
-
it { should
|
69
|
+
it { should be_falsey }
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -6,7 +6,7 @@ describe Eventifier::NotificationMapping do
|
|
6
6
|
it 'acts like a datasource' do
|
7
7
|
Eventifier::NotificationMapping.add 'test', :relation
|
8
8
|
|
9
|
-
Eventifier::NotificationMapping.find('test').
|
9
|
+
expect(Eventifier::NotificationMapping.find('test')).to eq [:relation]
|
10
10
|
end
|
11
11
|
|
12
12
|
it "appends further relations" do
|
@@ -15,8 +15,8 @@ describe Eventifier::NotificationMapping do
|
|
15
15
|
Eventifier::NotificationMapping.add 'test', :relation_a
|
16
16
|
Eventifier::NotificationMapping.add 'test', :relation_b
|
17
17
|
|
18
|
-
Eventifier::NotificationMapping.find('test').
|
19
|
-
|
18
|
+
expect(Eventifier::NotificationMapping.find('test')).
|
19
|
+
to eq [:relation_a, :relation_b]
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Sampimon
|
@@ -10,176 +10,190 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2014-04-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - ~>
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 4.0.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - ~>
|
26
|
+
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version:
|
28
|
+
version: 4.0.3
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: bson_ext
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '0'
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: haml-rails
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - ~>
|
47
|
+
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: '0.4'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- - ~>
|
54
|
+
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0.4'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: haml_coffee_assets
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0'
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: coffee-rails
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- - ~>
|
75
|
+
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
77
|
+
version: 4.0.0
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- - ~>
|
82
|
+
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
84
|
+
version: 4.0.0
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: compass-rails
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- -
|
96
|
+
- - ">="
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '0'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: multi_json
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- - ~>
|
103
|
+
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: 1.7.4
|
106
106
|
type: :runtime
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- - ~>
|
110
|
+
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: 1.7.4
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: jbuilder
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- - ~>
|
117
|
+
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: 1.4.2
|
120
120
|
type: :runtime
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- - ~>
|
124
|
+
- - "~>"
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: 1.4.2
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: rails-observers
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 0.1.2
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - "~>"
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 0.1.2
|
127
141
|
- !ruby/object:Gem::Dependency
|
128
142
|
name: combustion
|
129
143
|
requirement: !ruby/object:Gem::Requirement
|
130
144
|
requirements:
|
131
|
-
- - ~>
|
145
|
+
- - "~>"
|
132
146
|
- !ruby/object:Gem::Version
|
133
147
|
version: 0.5.0
|
134
148
|
type: :development
|
135
149
|
prerelease: false
|
136
150
|
version_requirements: !ruby/object:Gem::Requirement
|
137
151
|
requirements:
|
138
|
-
- - ~>
|
152
|
+
- - "~>"
|
139
153
|
- !ruby/object:Gem::Version
|
140
154
|
version: 0.5.0
|
141
155
|
- !ruby/object:Gem::Dependency
|
142
156
|
name: fabrication
|
143
157
|
requirement: !ruby/object:Gem::Requirement
|
144
158
|
requirements:
|
145
|
-
- - ~>
|
159
|
+
- - "~>"
|
146
160
|
- !ruby/object:Gem::Version
|
147
|
-
version: 2.
|
161
|
+
version: 2.11.0
|
148
162
|
type: :development
|
149
163
|
prerelease: false
|
150
164
|
version_requirements: !ruby/object:Gem::Requirement
|
151
165
|
requirements:
|
152
|
-
- - ~>
|
166
|
+
- - "~>"
|
153
167
|
- !ruby/object:Gem::Version
|
154
|
-
version: 2.
|
168
|
+
version: 2.11.0
|
155
169
|
- !ruby/object:Gem::Dependency
|
156
170
|
name: pg
|
157
171
|
requirement: !ruby/object:Gem::Requirement
|
158
172
|
requirements:
|
159
|
-
- -
|
173
|
+
- - ">="
|
160
174
|
- !ruby/object:Gem::Version
|
161
175
|
version: '0'
|
162
176
|
type: :development
|
163
177
|
prerelease: false
|
164
178
|
version_requirements: !ruby/object:Gem::Requirement
|
165
179
|
requirements:
|
166
|
-
- -
|
180
|
+
- - ">="
|
167
181
|
- !ruby/object:Gem::Version
|
168
182
|
version: '0'
|
169
183
|
- !ruby/object:Gem::Dependency
|
170
184
|
name: rspec-rails
|
171
185
|
requirement: !ruby/object:Gem::Requirement
|
172
186
|
requirements:
|
173
|
-
- - ~>
|
187
|
+
- - "~>"
|
174
188
|
- !ruby/object:Gem::Version
|
175
|
-
version:
|
189
|
+
version: 3.0.0.beta2
|
176
190
|
type: :development
|
177
191
|
prerelease: false
|
178
192
|
version_requirements: !ruby/object:Gem::Requirement
|
179
193
|
requirements:
|
180
|
-
- - ~>
|
194
|
+
- - "~>"
|
181
195
|
- !ruby/object:Gem::Version
|
182
|
-
version:
|
196
|
+
version: 3.0.0.beta2
|
183
197
|
description: Tracks and logs events and sends notifications of events on Active Record
|
184
198
|
models.
|
185
199
|
email:
|
@@ -188,8 +202,8 @@ executables: []
|
|
188
202
|
extensions: []
|
189
203
|
extra_rdoc_files: []
|
190
204
|
files:
|
191
|
-
- .gitignore
|
192
|
-
- .travis.yml
|
205
|
+
- ".gitignore"
|
206
|
+
- ".travis.yml"
|
193
207
|
- Gemfile
|
194
208
|
- README.textile
|
195
209
|
- Rakefile
|
@@ -221,6 +235,7 @@ files:
|
|
221
235
|
- db/migrate/2_eventifier_notification_settings.rb
|
222
236
|
- db/migrate/3_notification_sent_status.rb
|
223
237
|
- db/migrate/4_event_groupable.rb
|
238
|
+
- db/migrate/5_system_events.rb
|
224
239
|
- eventifier.gemspec
|
225
240
|
- lib/eventifier.rb
|
226
241
|
- lib/eventifier/delivery.rb
|
@@ -241,12 +256,13 @@ files:
|
|
241
256
|
- lib/eventifier/tracker.rb
|
242
257
|
- lib/generators/eventifier/install/install_generator.rb
|
243
258
|
- lib/generators/eventifier/install/templates/event_tracking.rb
|
244
|
-
- lib/generators/eventifier/install/templates/events.en.
|
259
|
+
- lib/generators/eventifier/install/templates/events.en.yml
|
245
260
|
- lib/tasks/email.rake
|
246
261
|
- spec/controllers/eventifier/notifications_controller_spec.rb
|
247
262
|
- spec/controllers/eventifier/preferences_controller_spec.rb
|
248
263
|
- spec/event_tracking_spec.rb
|
249
264
|
- spec/eventifier/delivery_spec.rb
|
265
|
+
- spec/eventifier/notification_translator_spec.rb
|
250
266
|
- spec/eventifier/preferences_spec.rb
|
251
267
|
- spec/eventifier/relationship_spec.rb
|
252
268
|
- spec/eventifier_spec.rb
|
@@ -255,6 +271,7 @@ files:
|
|
255
271
|
- spec/helpers/eventifier/path_helper_spec.rb
|
256
272
|
- spec/integration/eventifier_spec.rb
|
257
273
|
- spec/integration/internationalisation_spec.rb
|
274
|
+
- spec/integration/system_events_spec.rb
|
258
275
|
- spec/internal/app/controllers/application_controller.rb
|
259
276
|
- spec/internal/app/lib/event_tracking.rb
|
260
277
|
- spec/internal/app/models/category.rb
|
@@ -279,7 +296,8 @@ files:
|
|
279
296
|
- spec/support/controller_helpers.rb
|
280
297
|
- spec/support/model_helpers.rb
|
281
298
|
homepage: http://github.com/inspire9/eventifier
|
282
|
-
licenses:
|
299
|
+
licenses:
|
300
|
+
- MIT
|
283
301
|
metadata: {}
|
284
302
|
post_install_message:
|
285
303
|
rdoc_options: []
|
@@ -287,17 +305,17 @@ require_paths:
|
|
287
305
|
- lib
|
288
306
|
required_ruby_version: !ruby/object:Gem::Requirement
|
289
307
|
requirements:
|
290
|
-
- -
|
308
|
+
- - ">="
|
291
309
|
- !ruby/object:Gem::Version
|
292
310
|
version: '0'
|
293
311
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
294
312
|
requirements:
|
295
|
-
- -
|
313
|
+
- - ">="
|
296
314
|
- !ruby/object:Gem::Version
|
297
315
|
version: '0'
|
298
316
|
requirements: []
|
299
317
|
rubyforge_project: eventifier
|
300
|
-
rubygems_version: 2.
|
318
|
+
rubygems_version: 2.2.2
|
301
319
|
signing_key:
|
302
320
|
specification_version: 4
|
303
321
|
summary: Event tracking and notifying for active record models
|
@@ -306,6 +324,7 @@ test_files:
|
|
306
324
|
- spec/controllers/eventifier/preferences_controller_spec.rb
|
307
325
|
- spec/event_tracking_spec.rb
|
308
326
|
- spec/eventifier/delivery_spec.rb
|
327
|
+
- spec/eventifier/notification_translator_spec.rb
|
309
328
|
- spec/eventifier/preferences_spec.rb
|
310
329
|
- spec/eventifier/relationship_spec.rb
|
311
330
|
- spec/eventifier_spec.rb
|
@@ -314,6 +333,7 @@ test_files:
|
|
314
333
|
- spec/helpers/eventifier/path_helper_spec.rb
|
315
334
|
- spec/integration/eventifier_spec.rb
|
316
335
|
- spec/integration/internationalisation_spec.rb
|
336
|
+
- spec/integration/system_events_spec.rb
|
317
337
|
- spec/internal/app/controllers/application_controller.rb
|
318
338
|
- spec/internal/app/lib/event_tracking.rb
|
319
339
|
- spec/internal/app/models/category.rb
|