Skip to content

Commit 2444d48

Browse files
committed
Do not regenerate tokens on :initialize if record was already persisted.
1 parent 5e7e194 commit 2444d48

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

lib/has_token_on/models/base.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Base
99
extend ActiveSupport::Concern
1010

1111
included do
12-
after_initialize { |record| create_tokens(record, :initialize) }
12+
after_initialize { |record| create_tokens(record, :initialize) if record.new_record? }
1313
before_create { |record| create_tokens(record, :create) }
1414
before_update { |record| create_tokens(record, :update) }
1515
end

spec/has_token_on/base_spec.rb

+6
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@
101101
subject.update_attribute(:permalink_init, "sup yo")
102102
subject.permalink_none.should_not be_nil
103103
end
104+
105+
it "should not regenerate tokens on :initialize if record is persisted" do
106+
permalink = subject.permalink_init
107+
subject.save
108+
subject.reload.permalink_init.should == permalink
109+
end
104110
end
105111

106112
describe HasTokenOn::Base do

0 commit comments

Comments
 (0)