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 +10 -10
- data/lib/generators/protocolist/install/USAGE +1 -1
- data/lib/generators/protocolist/install/install_generator.rb +3 -3
- data/lib/generators/protocolist/install/templates/migration.rb +4 -4
- data/lib/protocolist.rb +6 -6
- data/lib/protocolist/controller_additions.rb +3 -3
- data/lib/protocolist/model_additions.rb +2 -2
- data/lib/protocolist/version.rb +1 -1
- data/protocolist.gemspec +2 -2
- data/spec/protocolist/controller_additions_spec.rb +11 -11
- data/spec/protocolist/model_additions_spec.rb +20 -20
- data/spec/protocolist_spec.rb +11 -11
- metadata +14 -14
    
        data/README.md
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            #Protocolist [](http://travis-ci.org/welldan97/protocolist)
         | 
| 1 | 
            +
            #Protocolist [](http://travis-ci.org/welldan97/protocolist) [](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:  | 
| 30 | 
            -
            they did"),  | 
| 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 [ | 
| 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  | 
| 49 | 
            -
            `self` as  | 
| 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, : | 
| 75 | 
            +
                fire :destroy_all, :target => false, :data => {:company_id => company_id}
         | 
| 76 76 | 
             
            end
         | 
| 77 77 | 
             
            ```
         | 
| 78 78 |  | 
| 79 | 
            -
            If you run without `: | 
| 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  | 
| 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, : | 
| 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  | 
| 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, : | 
| 15 | 
            -
              belongs_to : | 
| 16 | 
            -
              belongs_to : | 
| 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 : | 
| 5 | 
            -
                  t.references : | 
| 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, : | 
| 12 | 
            -
                add_index :activities, : | 
| 11 | 
            +
                add_index :activities, :actor_id
         | 
| 12 | 
            +
                add_index :activities, :target_id
         | 
| 13 13 | 
             
              end
         | 
| 14 14 | 
             
            end
         | 
    
        data/lib/protocolist.rb
    CHANGED
    
    | @@ -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 = {: | 
| 11 | 
            -
                @activity_class.create options if options[: | 
| 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. | 
| 15 | 
            -
                @ | 
| 14 | 
            +
              def self.actor
         | 
| 15 | 
            +
                @actor
         | 
| 16 16 | 
             
              end
         | 
| 17 17 |  | 
| 18 | 
            -
              def self. | 
| 19 | 
            -
                @ | 
| 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[: | 
| 39 | 
            -
                  options[: | 
| 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. | 
| 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[: | 
| 36 | 
            -
                  options[: | 
| 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
         | 
    
        data/lib/protocolist/version.rb
    CHANGED
    
    
    
        data/protocolist.gemspec
    CHANGED
    
    | @@ -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. | 
| 23 | 
            -
              s.add_development_dependency 'guard-rspec', '~> 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, : | 
| 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  | 
| 42 | 
            +
                it 'saves record with target and data when called explicitly' do
         | 
| 43 43 | 
             
                  @controller.explicit_use
         | 
| 44 44 |  | 
| 45 | 
            -
                  Activity.last. | 
| 45 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 46 46 | 
             
                  Activity.last.activity_type.should == :gogogo
         | 
| 47 | 
            -
                  Activity.last. | 
| 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  | 
| 51 | 
            +
                it 'saves record with target and data when called implicitly' do
         | 
| 52 52 | 
             
                  @controller.implicit_use
         | 
| 53 53 |  | 
| 54 | 
            -
                  Activity.last. | 
| 54 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 55 55 | 
             
                  Activity.last.activity_type.should == :quick_and_dirty_action_stub
         | 
| 56 | 
            -
                  Activity.last. | 
| 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. | 
| 68 | 
            +
                    Activity.last.actor.name.should == 'Bill'
         | 
| 69 69 | 
             
                    Activity.last.activity_type.should == :download
         | 
| 70 | 
            -
                    Activity.last. | 
| 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. | 
| 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. | 
| 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, : | 
| 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, : | 
| 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], : | 
| 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 | 
            -
                @ | 
| 63 | 
            -
                Protocolist. | 
| 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  | 
| 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. | 
| 76 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 77 77 | 
             
                  Activity.last.activity_type.should == :love_letter
         | 
| 78 | 
            -
                  Activity.last. | 
| 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  | 
| 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. | 
| 86 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 87 87 | 
             
                  Activity.last.activity_type.should == :myself
         | 
| 88 | 
            -
                  Activity.last. | 
| 88 | 
            +
                  Activity.last.target.should == @firestarter
         | 
| 89 89 | 
             
                end
         | 
| 90 90 |  | 
| 91 | 
            -
                it 'saves record without  | 
| 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. | 
| 95 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 96 96 | 
             
                  Activity.last.activity_type.should == :delete
         | 
| 97 | 
            -
                  Activity.last. | 
| 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. | 
| 106 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 107 107 | 
             
                  Activity.last.activity_type.should == :create
         | 
| 108 | 
            -
                  Activity.last. | 
| 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. | 
| 118 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 119 119 | 
             
                  Activity.last.activity_type.should == :yohoho
         | 
| 120 | 
            -
                  Activity.last. | 
| 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. | 
| 128 | 
            +
                  Activity.last.actor.name.should == 'Bill'
         | 
| 129 129 | 
             
                  Activity.last.activity_type.should == :yohoho
         | 
| 130 | 
            -
                  Activity.last. | 
| 130 | 
            +
                  Activity.last.target.should_not be
         | 
| 131 131 | 
             
                  Activity.last.data.should == 'Hi!'
         | 
| 132 132 | 
             
                end
         | 
| 133 133 |  | 
    
        data/spec/protocolist_spec.rb
    CHANGED
    
    | @@ -11,13 +11,13 @@ end | |
| 11 11 | 
             
            describe Protocolist do
         | 
| 12 12 | 
             
              before :each do
         | 
| 13 13 | 
             
                Activity.destroy_all
         | 
| 14 | 
            -
                @ | 
| 15 | 
            -
                Protocolist. | 
| 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  | 
| 20 | 
            -
                Protocolist. | 
| 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. | 
| 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 | 
            -
                 | 
| 40 | 
            -
                 | 
| 39 | 
            +
                another_actor = User.new(:name => 'Bob')
         | 
| 40 | 
            +
                target = User.new(:name => 'Mary')
         | 
| 41 41 |  | 
| 42 42 | 
             
                expect {
         | 
| 43 43 | 
             
                  Protocolist.fire :alarm,
         | 
| 44 | 
            -
                  : | 
| 45 | 
            -
                  : | 
| 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. | 
| 49 | 
            +
                Activity.last.actor.name.should == 'Bob'
         | 
| 50 50 | 
             
                Activity.last.activity_type.should == :alarm
         | 
| 51 | 
            -
                Activity.last. | 
| 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. | 
| 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- | 
| 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: & | 
| 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: * | 
| 24 | 
            +
              version_requirements: *75671410
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: rspec
         | 
| 27 | 
            -
              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. | 
| 32 | 
            +
                    version: 2.9.0
         | 
| 33 33 | 
             
              type: :development
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *75671120
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: guard-rspec
         | 
| 38 | 
            -
              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. | 
| 43 | 
            +
                    version: 0.7.0
         | 
| 44 44 | 
             
              type: :development
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *75670800
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: supermodel
         | 
| 49 | 
            -
              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: * | 
| 57 | 
            +
              version_requirements: *75670540
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: railties
         | 
| 60 | 
            -
              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: * | 
| 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:
         |