diff --git a/lib/global_id/identification.rb b/lib/global_id/identification.rb index 716151f..d64c7d6 100644 --- a/lib/global_id/identification.rb +++ b/lib/global_id/identification.rb @@ -5,7 +5,7 @@ module Identification extend ActiveSupport::Concern def to_global_id(options = {}) - @global_id ||= GlobalID.create(self, options) + GlobalID.create(self, options) end alias to_gid to_global_id diff --git a/test/cases/global_identification_test.rb b/test/cases/global_identification_test.rb index 578f25d..86f51d9 100644 --- a/test/cases/global_identification_test.rb +++ b/test/cases/global_identification_test.rb @@ -29,4 +29,12 @@ class GlobalIdentificationTest < ActiveSupport::TestCase assert_equal SignedGlobalID.create(@model, some: 'param'), @model.to_signed_global_id(some: 'param') assert_equal SignedGlobalID.create(@model, some: 'param'), @model.to_sgid(some: 'param') end + + test 'dup should clear memoized to_global_id' do + global_id = @model.to_global_id + dup_model = @model.dup + dup_model.id = @model.id + 1 + dup_global_id = dup_model.to_global_id + assert_not_equal global_id, dup_global_id + end end