37 lines
788 B
Ruby
37 lines
788 B
Ruby
module Dunlop
|
|
module UserModel
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
serialize :role_names, JSONColumnCoder.new(Array)
|
|
serialize :role_names_admin, JSONColumnCoder.new(Array)
|
|
serialize :settings_storage, JSONColumnCoder.new(Hash)
|
|
has_many :source_files, as: :creator
|
|
has_many :user_filters, class_name: 'Dunlop::UserFilter'
|
|
end
|
|
|
|
def settings
|
|
@settings ||= ::Dunlop::UserSettings.new(self, settings_storage)
|
|
end
|
|
|
|
def all_role_names
|
|
role_names + role_names_admin
|
|
end
|
|
|
|
def presentation_name
|
|
email
|
|
end
|
|
|
|
module ClassMethods
|
|
|
|
def current
|
|
RequestStore.store[:current_user]
|
|
end
|
|
|
|
def current=(user)
|
|
RequestStore.store[:current_user] = user
|
|
end
|
|
end
|
|
end
|
|
end
|