Files
openfoodnetwork/lib/spree/core/token_resource.rb

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 }