Sha256: 9beb9f1bb103c73d348533fabcf578acb4d60c864b3b8ed03620c927d1ec11f0
Contents?: true
Size: 920 Bytes
Versions: 26
Compression:
Stored size: 920 Bytes
Contents
class Permission < ApplicationRecord # REFERENCES has_many :permission_roles, dependent: :destroy, inverse_of: :permission has_many :roles, through: :permission_roles, inverse_of: :permissions belongs_to :predicate, inverse_of: :permissions belongs_to :action, inverse_of: :permissions belongs_to :target, inverse_of: :permissions # VALIDATIONS validates :predicate_id, presence: true, uniqueness: {scope: [:action_id, :target_id]} validates :action_id, presence: true validates :target_id, presence: true def display_name p = (I18n.t "permissions.predicates.#{predicate.name}", default: predicate.name.titleize rescue nil) a = (I18n.t "permissions.actions.#{action.name}", default: action.name.titleize rescue nil) m = (I18n.t "activerecord.models.#{target.name}", default: target.name.titleize rescue nil) [ p, a, m ].join(" ") end end
Version data entries
26 entries across 26 versions & 1 rubygems