5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-25 15:56:22 +00:00
panel/app/models/rol.rb

38 lines
712 B
Ruby

# frozen_string_literal: true
# Define el rol que tiene una usuaria en un sitio
#
# Un rol puede ser temporal, es decir que aun no se ha aceptado y
# necesita del consentimiento de le usuarie :)
class Rol < ApplicationRecord
ROLES = %w[usuarie invitade].freeze
USUARIE = 'usuarie'
INVITADE = 'invitade'
belongs_to :usuarie
belongs_to :site
has_many :deploys
validates_inclusion_of :rol, in: ROLES
before_save :add_token_if_missing!
def invitade?
rol == INVITADE
end
def usuarie?
rol == USUARIE
end
def self.role?(rol)
ROLES.include? rol
end
private
# Asegurarse que tenga un token
def add_token_if_missing!
self.token ||= SecureRandom.hex(64)
end
end