module ActiveRecord::SignedId::ClassMethods

def signed_id_verifier

By default, it's SHA256 for the digest and JSON for the serialization.
{Rails.application.key_generator}[rdoc-ref:Rails::Application#key_generator].
with the class-level +signed_id_verifier_secret+, which within Rails comes from
The verifier instance that all signed ids are generated and verified from. By default, it'll be initialized
def signed_id_verifier
  @signed_id_verifier ||= begin
    secret = signed_id_verifier_secret
    secret = secret.call if secret.respond_to?(:call)
    if secret.nil?
      raise ArgumentError, "You must set ActiveRecord::Base.signed_id_verifier_secret to use signed ids"
    else
      ActiveSupport::MessageVerifier.new secret, digest: "SHA256", serializer: JSON, url_safe: true
    end
  end
end