trackable 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.4.1
@@ -14,7 +14,7 @@ module ActsAsTrackable
14
14
  }
15
15
  send :include, InstanceMethods
16
16
  has_many :events, :as => :eventable, :dependent => :destroy, :order => "created_at desc"
17
- after_save :record_events
17
+ send options[:on] ? :"after_#{options[:on]}" : :after_save, :record_events
18
18
  end
19
19
  end
20
20
 
@@ -147,5 +147,25 @@ class TrackableTest < Test::Unit::TestCase
147
147
  bar.update_attribute(:name, "Megatron")
148
148
  assert_equal "Name changed to Megatron", bar.events.first.message
149
149
  end
150
+
151
+ def test_trackable_can_be_set_to_only_record_on_create
152
+ Bar.instance_variable_set :@after_save_callbacks, ActiveSupport::Callbacks::CallbackChain.new
153
+ Bar.trackable :on => :create
154
+ bar = Bar.create(:name => 'bar')
155
+ assert_equal "Name changed to bar", bar.events.first.message
156
+ assert_equal 1, bar.events.count
157
+ bar.update_attributes(:name => 'baz')
158
+ assert_equal 1, bar.events.count
159
+ end
160
+
161
+ def test_trackable_can_be_set_to_only_record_on_update
162
+ Bar.instance_variable_set :@after_create_callbacks, ActiveSupport::Callbacks::CallbackChain.new
163
+ Bar.trackable :on => :update
164
+ bar = Bar.create(:name => 'bar')
165
+ assert_equal 0, bar.events.count
166
+ bar.update_attributes(:name => 'baz')
167
+ assert_equal "Name changed to baz", bar.events.first.message
168
+ assert_equal 1, bar.events.count
169
+ end
150
170
 
151
171
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 4
8
- - 0
9
- version: 0.4.0
8
+ - 1
9
+ version: 0.4.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - bigfleet
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-06 00:00:00 -04:00
17
+ date: 2010-05-11 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency