Skip to content

Commit a9c4e1e

Browse files
authored
Merge pull request #109 from bradleybuda/master
GlobalID::Identification clears memoized to_global_id on dup
2 parents e661f6c + 8b3af4c commit a9c4e1e

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/global_id/identification.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module Identification
55
extend ActiveSupport::Concern
66

77
def to_global_id(options = {})
8-
@global_id ||= GlobalID.create(self, options)
8+
GlobalID.create(self, options)
99
end
1010
alias to_gid to_global_id
1111

test/cases/global_identification_test.rb

+8
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,12 @@ class GlobalIdentificationTest < ActiveSupport::TestCase
2929
assert_equal SignedGlobalID.create(@model, some: 'param'), @model.to_signed_global_id(some: 'param')
3030
assert_equal SignedGlobalID.create(@model, some: 'param'), @model.to_sgid(some: 'param')
3131
end
32+
33+
test 'dup should clear memoized to_global_id' do
34+
global_id = @model.to_global_id
35+
dup_model = @model.dup
36+
dup_model.id = @model.id + 1
37+
dup_global_id = dup_model.to_global_id
38+
assert_not_equal global_id, dup_global_id
39+
end
3240
end

0 commit comments

Comments
 (0)