protocolist 0.8.1.beta → 0.9.0.beta

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.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- #Protocolist [![Build Status](https://secure.travis-ci.org/welldan97/protocolist.png?branch=master)](http://travis-ci.org/welldan97/protocolist)
1
+ #Protocolist [![Build Status](https://secure.travis-ci.org/welldan97/protocolist.png?branch=master)](http://travis-ci.org/welldan97/protocolist) [![Dependency Status](https://gemnasium.com/welldan97/protocolist.png)](https://gemnasium.com/welldan97/protocolist)
2
2
 
3
3
  Simple activity feeds solution for Rails applications. Gives a flexible way to build activity feeds infrastructure over it.
4
4
 
@@ -26,12 +26,12 @@ rake db:migrate
26
26
  Getting started
27
27
  ---------------
28
28
 
29
- Activity model has four attributes: subject("who did it"), activity_type("what
30
- they did"), object("what they did it to") and data(additional information). Subject will be
29
+ Activity model has four attributes: actor("who did it"), activity_type("what
30
+ they did"), target("what they did it to") and data(additional information). Subject will be
31
31
  set as current user by default.
32
32
 
33
33
  Protocolist expects you to have `current_user` method in a
34
- controller. See [[Changing Defaults]] to change this behavior.
34
+ controller. See [Changing Defaults](https://github.com/welldan97/protocolist/wiki/Changing-Defaults) to change this behavior.
35
35
 
36
36
  If creation isn't possible it will silently skip it.
37
37
 
@@ -45,8 +45,8 @@ fires :create
45
45
  ```
46
46
 
47
47
  When "create" event will be triggered, it will automatically create
48
- Activity with current user set as subject, `:create` as type,
49
- `self` as object and empty data.
48
+ Activity with current user set as actor, `:create` as type,
49
+ `self` as target and empty data.
50
50
 
51
51
  The more convenient usage:
52
52
 
@@ -72,11 +72,11 @@ The most flexible way is to use `fire` method:
72
72
  ```ruby
73
73
  def destroy_projects
74
74
  self.projects.destroy_all
75
- fire :destroy_all, :object => false, :data => {:company_id => company_id}
75
+ fire :destroy_all, :target => false, :data => {:company_id => company_id}
76
76
  end
77
77
  ```
78
78
 
79
- If you run without `:object` option set, it will default to `self`.
79
+ If you run without `:target` option set, it will default to `self`.
80
80
 
81
81
  Usage in controllers
82
82
  --------------------
@@ -98,7 +98,7 @@ fires :download, :only => [:download_report, :download_file, :download_map],
98
98
  ```
99
99
 
100
100
  The `fire` method can be used same way as in models, but also if type is not
101
- set, it will be set as `action_name`, and object will try to store `@model_instance`.
101
+ set, it will be set as `action_name`, and target will try to store `@model_instance`.
102
102
 
103
103
  ```ruby
104
104
  def show
@@ -111,7 +111,7 @@ is the same as
111
111
  ```ruby
112
112
  def show
113
113
  @article = Article.find(params[:id])
114
- fire :show, :object => @article
114
+ fire :show, :target => @article
115
115
  end
116
116
  ```
117
117
 
@@ -1 +1 @@
1
- Generates both the Activity class and the migration to create its table. The table will have subject, object, type and data columns.
1
+ Generates both the Activity class and the migration to create its table. The table will have actor, target, type and data columns.
@@ -11,9 +11,9 @@ module Protocolist
11
11
  migration_template "migration.rb", "db/migrate/create_activities"
12
12
  invoke "active_record:model", ['Activity'], :migration => false
13
13
  model_content = <<CONTENT
14
- attr_accessible :activity_type, :object, :subject, :data
15
- belongs_to :object, :polymorphic => true
16
- belongs_to :subject, :polymorphic => true
14
+ attr_accessible :activity_type, :target, :actor, :data
15
+ belongs_to :target, :polymorphic => true
16
+ belongs_to :actor, :polymorphic => true
17
17
  serialize :data
18
18
  CONTENT
19
19
  inject_into_class('app/models/activity.rb', 'Activity', model_content) if File.exists?(File.join(destination_root, 'app/models/activity.rb'))
@@ -1,14 +1,14 @@
1
1
  class CreateActivities < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :activities do |t|
4
- t.references :subject, :polymorphic => true
5
- t.references :object, :polymorphic => true
4
+ t.references :actor, :polymorphic => true
5
+ t.references :target, :polymorphic => true
6
6
  t.string :activity_type
7
7
  t.text :data
8
8
 
9
9
  t.timestamps
10
10
  end
11
- add_index :activities, :subject_id
12
- add_index :activities, :object_id
11
+ add_index :activities, :actor_id
12
+ add_index :activities, :target_id
13
13
  end
14
14
  end
@@ -7,16 +7,16 @@ require "protocolist/railtie" if defined? Rails
7
7
  module Protocolist
8
8
 
9
9
  def self.fire activity_type, options={}
10
- options = {:subject => @subject, :activity_type => activity_type}.merge options
11
- @activity_class.create options if options[:subject] && @activity_class
10
+ options = {:actor => @actor, :activity_type => activity_type}.merge options
11
+ @activity_class.create options if options[:actor] && @activity_class
12
12
  end
13
13
 
14
- def self.subject
15
- @subject
14
+ def self.actor
15
+ @actor
16
16
  end
17
17
 
18
- def self.subject= subject
19
- @subject = subject
18
+ def self.actor= actor
19
+ @actor = actor
20
20
  end
21
21
 
22
22
  def self.activity_class
@@ -35,15 +35,15 @@ module Protocolist
35
35
  end
36
36
 
37
37
  def fire activity_type=nil, options={}
38
- options[:object] = instance_variable_get("@#{self.controller_name.singularize}") if options[:object] == nil
39
- options[:object] = nil if options[:object] == false
38
+ options[:target] = instance_variable_get("@#{self.controller_name.singularize}") if options[:target] == nil
39
+ options[:target] = nil if options[:target] == false
40
40
  activity_type ||= action_name.to_sym
41
41
 
42
42
  Protocolist.fire activity_type, options
43
43
  end
44
44
 
45
45
  def initilize_protocolist
46
- Protocolist.subject = current_user
46
+ Protocolist.actor = current_user
47
47
  Protocolist.activity_class = Activity
48
48
  end
49
49
  end
@@ -32,8 +32,8 @@ module Protocolist
32
32
  end
33
33
 
34
34
  def fire activity_type, options={}
35
- options[:object] = self if options[:object] == nil
36
- options[:object] = nil if options[:object] == false
35
+ options[:target] = self if options[:target] == nil
36
+ options[:target] = nil if options[:target] == false
37
37
 
38
38
  Protocolist.fire activity_type, options
39
39
  end
@@ -1,3 +1,3 @@
1
1
  module Protocolist
2
- VERSION = "0.8.1.beta"
2
+ VERSION = "0.9.0.beta"
3
3
  end
@@ -19,8 +19,8 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_development_dependency 'rake'
22
- s.add_development_dependency 'rspec', '~> 2.8.0'
23
- s.add_development_dependency 'guard-rspec', '~> 0.6.0'
22
+ s.add_development_dependency 'rspec', '~> 2.9.0'
23
+ s.add_development_dependency 'guard-rspec', '~> 0.7.0'
24
24
  s.add_development_dependency 'supermodel'
25
25
  s.add_development_dependency 'railties', '~> 3.0'
26
26
  end
@@ -15,7 +15,7 @@ class FirestartersController
15
15
 
16
16
  include Protocolist::ControllerAdditions
17
17
  def explicit_use
18
- fire :gogogo, :object => User.new(:name => 'Lisa'), :data => '<3 <3 <3'
18
+ fire :gogogo, :target => User.new(:name => 'Lisa'), :data => '<3 <3 <3'
19
19
  end
20
20
 
21
21
  def implicit_use
@@ -39,21 +39,21 @@ describe Protocolist::ControllerAdditions do
39
39
  end
40
40
 
41
41
  describe 'direct fire method call' do
42
- it 'saves record with object and data when called explicitly' do
42
+ it 'saves record with target and data when called explicitly' do
43
43
  @controller.explicit_use
44
44
 
45
- Activity.last.subject.name.should == 'Bill'
45
+ Activity.last.actor.name.should == 'Bill'
46
46
  Activity.last.activity_type.should == :gogogo
47
- Activity.last.object.name.should == 'Lisa'
47
+ Activity.last.target.name.should == 'Lisa'
48
48
  Activity.last.data.should == '<3 <3 <3'
49
49
  end
50
50
 
51
- it 'saves record with object and data when called implicitly' do
51
+ it 'saves record with target and data when called implicitly' do
52
52
  @controller.implicit_use
53
53
 
54
- Activity.last.subject.name.should == 'Bill'
54
+ Activity.last.actor.name.should == 'Bill'
55
55
  Activity.last.activity_type.should == :quick_and_dirty_action_stub
56
- Activity.last.object.name.should == 'Marge'
56
+ Activity.last.target.name.should == 'Marge'
57
57
  end
58
58
  end
59
59
 
@@ -65,9 +65,9 @@ describe Protocolist::ControllerAdditions do
65
65
  expect {
66
66
  callback_proc.call(@controller)
67
67
  }.to change{Activity.count}.by 1
68
- Activity.last.subject.name.should == 'Bill'
68
+ Activity.last.actor.name.should == 'Bill'
69
69
  Activity.last.activity_type.should == :download
70
- Activity.last.object.should_not be
70
+ Activity.last.target.should_not be
71
71
  end
72
72
  FirestartersController.send(:fires, :download)
73
73
  end
@@ -81,10 +81,10 @@ describe Protocolist::ControllerAdditions do
81
81
  callback_proc.call(@controller)
82
82
  }.to change{Activity.count}.by 1
83
83
 
84
- Activity.last.subject.name.should == 'Bill'
84
+ Activity.last.actor.name.should == 'Bill'
85
85
  Activity.last.activity_type.should == :download
86
86
  Activity.last.data.should == 'les params'
87
- Activity.last.object.should_not be
87
+ Activity.last.target.should_not be
88
88
  end
89
89
 
90
90
  FirestartersController.send(:fires, :download,
@@ -12,7 +12,7 @@ class Firestarter < SuperModel::Base
12
12
  include Protocolist::ModelAdditions
13
13
 
14
14
  def delete
15
- fire :delete, :object => false
15
+ fire :delete, :target => false
16
16
  end
17
17
 
18
18
  def myself
@@ -21,7 +21,7 @@ class Firestarter < SuperModel::Base
21
21
 
22
22
  def love_letter_for_mary
23
23
  user = User.create(:name => 'Mary')
24
- fire :love_letter, :object => user, :data => '<3 <3 <3'
24
+ fire :love_letter, :target => user, :data => '<3 <3 <3'
25
25
  end
26
26
  end
27
27
 
@@ -49,7 +49,7 @@ end
49
49
  class ComplexFirestarter < SuperModel::Base
50
50
  include Protocolist::ModelAdditions
51
51
 
52
- fires :yohoho, :on =>[:create, :destroy], :object => false, :data => :hi
52
+ fires :yohoho, :on =>[:create, :destroy], :target => false, :data => :hi
53
53
 
54
54
  def hi
55
55
  'Hi!'
@@ -59,8 +59,8 @@ end
59
59
  describe Protocolist::ModelAdditions do
60
60
  before :each do
61
61
  Activity.destroy_all
62
- @subject = User.new(:name => 'Bill')
63
- Protocolist.subject = @subject
62
+ @actor = User.new(:name => 'Bill')
63
+ Protocolist.actor = @actor
64
64
  Protocolist.activity_class = Activity
65
65
  end
66
66
 
@@ -69,32 +69,32 @@ describe Protocolist::ModelAdditions do
69
69
  @firestarter = Firestarter.new
70
70
  end
71
71
 
72
- it 'saves record with object and data' do
72
+ it 'saves record with target and data' do
73
73
  expect {
74
74
  @firestarter.love_letter_for_mary
75
75
  }.to change{Activity.count}.by 1
76
- Activity.last.subject.name.should == 'Bill'
76
+ Activity.last.actor.name.should == 'Bill'
77
77
  Activity.last.activity_type.should == :love_letter
78
- Activity.last.object.name.should == 'Mary'
78
+ Activity.last.target.name.should == 'Mary'
79
79
  Activity.last.data.should == '<3 <3 <3'
80
80
  end
81
81
 
82
- it 'saves record with self as object if object is not set' do
82
+ it 'saves record with self as target if target is not set' do
83
83
  expect {
84
84
  @firestarter.myself
85
85
  }.to change{Activity.count}.by 1
86
- Activity.last.subject.name.should == 'Bill'
86
+ Activity.last.actor.name.should == 'Bill'
87
87
  Activity.last.activity_type.should == :myself
88
- Activity.last.object.should == @firestarter
88
+ Activity.last.target.should == @firestarter
89
89
  end
90
90
 
91
- it 'saves record without object if object set to false' do
91
+ it 'saves record without target if target set to false' do
92
92
  expect {
93
93
  @firestarter.delete
94
94
  }.to change{Activity.count}.by 1
95
- Activity.last.subject.name.should == 'Bill'
95
+ Activity.last.actor.name.should == 'Bill'
96
96
  Activity.last.activity_type.should == :delete
97
- Activity.last.object.should be_false
97
+ Activity.last.target.should be_false
98
98
  end
99
99
  end
100
100
 
@@ -103,9 +103,9 @@ describe Protocolist::ModelAdditions do
103
103
  expect {
104
104
  SimpleFirestarter.create(:name => 'Ted')
105
105
  }.to change{Activity.count}.by 1
106
- Activity.last.subject.name.should == 'Bill'
106
+ Activity.last.actor.name.should == 'Bill'
107
107
  Activity.last.activity_type.should == :create
108
- Activity.last.object.name.should == 'Ted'
108
+ Activity.last.target.name.should == 'Ted'
109
109
  end
110
110
 
111
111
  it 'saves record when called with complex options' do
@@ -115,9 +115,9 @@ describe Protocolist::ModelAdditions do
115
115
  expect {
116
116
  ComplexFirestarter.create(:name => 'Ted')
117
117
  }.to change{Activity.count}.by 1
118
- Activity.last.subject.name.should == 'Bill'
118
+ Activity.last.actor.name.should == 'Bill'
119
119
  Activity.last.activity_type.should == :yohoho
120
- Activity.last.object.should_not be
120
+ Activity.last.target.should_not be
121
121
  Activity.last.data.should == 'Hi!'
122
122
 
123
123
  #then destroy record
@@ -125,9 +125,9 @@ describe Protocolist::ModelAdditions do
125
125
  expect {
126
126
  ComplexFirestarter.last.destroy
127
127
  }.to change{Activity.count}.by 1
128
- Activity.last.subject.name.should == 'Bill'
128
+ Activity.last.actor.name.should == 'Bill'
129
129
  Activity.last.activity_type.should == :yohoho
130
- Activity.last.object.should_not be
130
+ Activity.last.target.should_not be
131
131
  Activity.last.data.should == 'Hi!'
132
132
  end
133
133
 
@@ -11,13 +11,13 @@ end
11
11
  describe Protocolist do
12
12
  before :each do
13
13
  Activity.destroy_all
14
- @subject = User.new(:name => 'Bill')
15
- Protocolist.subject = @subject
14
+ @actor = User.new(:name => 'Bill')
15
+ Protocolist.actor = @actor
16
16
  Protocolist.activity_class = Activity
17
17
  end
18
18
 
19
- it 'should silently skip saving if subject is falsy' do
20
- Protocolist.subject = nil
19
+ it 'should silently skip saving if actor is falsy' do
20
+ Protocolist.actor = nil
21
21
  expect {Protocolist.fire :alarm}.not_to change{Activity.count}
22
22
  expect {Protocolist.fire :alarm}.not_to raise_error
23
23
  end
@@ -31,24 +31,24 @@ describe Protocolist do
31
31
  it 'should save a simple record' do
32
32
  expect {Protocolist.fire :alarm}.to change{Activity.count}.by 1
33
33
 
34
- Activity.last.subject.should == @subject
34
+ Activity.last.actor.should == @actor
35
35
  Activity.last.activity_type.should == :alarm
36
36
  end
37
37
 
38
38
  it 'should save a complex record' do
39
- another_subject = User.new(:name => 'Bob')
40
- object = User.new(:name => 'Mary')
39
+ another_actor = User.new(:name => 'Bob')
40
+ target = User.new(:name => 'Mary')
41
41
 
42
42
  expect {
43
43
  Protocolist.fire :alarm,
44
- :subject => another_subject,
45
- :object => object,
44
+ :actor => another_actor,
45
+ :target => target,
46
46
  :data => {:some_attr => :some_data}
47
47
  }.to change{Activity.count}.by 1
48
48
 
49
- Activity.last.subject.name.should == 'Bob'
49
+ Activity.last.actor.name.should == 'Bob'
50
50
  Activity.last.activity_type.should == :alarm
51
- Activity.last.object.name.should == 'Mary'
51
+ Activity.last.target.name.should == 'Mary'
52
52
  Activity.last.data[:some_attr].should == :some_data
53
53
  end
54
54
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protocolist
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1.beta
4
+ version: 0.9.0.beta
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-30 00:00:00.000000000 Z
12
+ date: 2012-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &81805600 !ruby/object:Gem::Requirement
16
+ requirement: &75671410 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,32 +21,32 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *81805600
24
+ version_requirements: *75671410
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &81805300 !ruby/object:Gem::Requirement
27
+ requirement: &75671120 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 2.8.0
32
+ version: 2.9.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *81805300
35
+ version_requirements: *75671120
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: guard-rspec
38
- requirement: &81804800 !ruby/object:Gem::Requirement
38
+ requirement: &75670800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: 0.6.0
43
+ version: 0.7.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *81804800
46
+ version_requirements: *75670800
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: supermodel
49
- requirement: &81804580 !ruby/object:Gem::Requirement
49
+ requirement: &75670540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *81804580
57
+ version_requirements: *75670540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: railties
60
- requirement: &81804260 !ruby/object:Gem::Requirement
60
+ requirement: &75670090 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '3.0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *81804260
68
+ version_requirements: *75670090
69
69
  description: ! 'Simple activity feeds solution for Rails applications. Gives a flexible
70
70
  way to build activity feeds infrastructure over it. '
71
71
  email: