27 lines
477 B
Ruby
27 lines
477 B
Ruby
class QrCodeLink
|
|
attr_reader :url
|
|
|
|
def initialize(url)
|
|
@url = url
|
|
end
|
|
|
|
def signed
|
|
self.class.verifier.generate(@url, purpose: :qr_code)
|
|
end
|
|
|
|
def self.from_signed(signed)
|
|
new verifier.verify(signed, purpose: :qr_code)
|
|
end
|
|
|
|
private
|
|
class << self
|
|
def verifier
|
|
ActiveSupport::MessageVerifier.new(secret, url_safe: true)
|
|
end
|
|
|
|
def secret
|
|
Rails.application.key_generator.generate_key("qr_codes")
|
|
end
|
|
end
|
|
end
|