module Slots::JWT::Model

Public Instance Methods

session_assocaition() click to toggle source
# File lib/slots/jwt.rb, line 19
def session_assocaition
  {foreign_key: "#{Slots::JWT.configuration.authentication_model.to_s.underscore}_id", class_name: Slots::JWT.configuration.authentication_model.to_s}
end
slots(*extensions) click to toggle source
# File lib/slots/jwt.rb, line 23
def slots(*extensions)
  to_include = [GenericMethods, GenericValidations, Tokens]
  extensions.each do |e|
    extension = e.to_sym
    case extension
    when :database_authentication
      to_include.push(DatabaseAuthentication)
    else
      raise "The following slot extension was not found: #{extension}\nThe following are allows :database_authentication, :approvable, :confirmable"
    end
  end
  define_method(:slots?) { |v| extensions.include?(v) }

  include(*to_include)
  has_many :sessions, session_assocaition.merge(class_name: 'Slots::JWT::Session')
end