mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-09 03:20:21 +00:00
28 lines
651 B
Ruby
28 lines
651 B
Ruby
module Spree
|
|
module Core
|
|
module TokenResource
|
|
module ClassMethods
|
|
def token_resource
|
|
has_one :tokenized_permission, :as => :permissable
|
|
delegate :token, :to => :tokenized_permission, :allow_nil => true
|
|
after_create :create_token
|
|
end
|
|
end
|
|
|
|
def create_token
|
|
permission = build_tokenized_permission
|
|
permission.token = token = ::SecureRandom::hex(8)
|
|
permission.save!
|
|
token
|
|
end
|
|
|
|
def self.included(receiver)
|
|
receiver.extend ClassMethods
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
ActiveRecord::Base.class_eval { include Spree::Core::TokenResource }
|
|
|