lib/active_model/signed_global_id.rb
require 'active_model/global_id' require 'active_support/core_ext/module/attribute_accessors' module ActiveModel class SignedGlobalID < GlobalID cattr_accessor :verifier def self.create(model) new verifier.generate("GlobalID-#{model.class.name}-#{model.id}") end def initialize(sgid) @gid = self.class.verifier.verify(sgid) end def ==(other_global_id) other_global_id.is_a?(SignedGlobalID) && to_s == other_global_id.to_s end def to_s @sgid ||= self.class.verifier.generate(@gid) end end end