Files
fizzy/app/models/user/role.rb
T
2025-02-12 15:19:51 +00:00

20 lines
494 B
Ruby

module User::Role
extend ActiveSupport::Concern
included do
enum :role, %i[ member system ].index_by(&:itself), scopes: false
scope :member, -> { where(role: :member) }
scope :without_system, -> { where.not(role: :system) }
scope :active, -> { without_system.where(active: true) }
end
class_methods do
def find_or_create_system_user(account)
account.users.find_or_create_by!(role: :system) do |user|
user.name = "System"
end
end
end
end