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

Version Path
thecore_auth_commons-3.0.11 app/models/permission.rb
thecore_auth_commons-3.0.10 app/models/permission.rb
thecore_auth_commons-3.0.9 app/models/permission.rb
thecore_auth_commons-3.0.8 app/models/permission.rb
thecore_auth_commons-3.0.7 app/models/permission.rb
thecore_auth_commons-3.0.6 app/models/permission.rb
thecore_auth_commons-3.0.5 app/models/permission.rb
thecore_auth_commons-3.0.4 app/models/permission.rb
thecore_auth_commons-3.0.3 app/models/permission.rb
thecore_auth_commons-3.0.0 app/models/permission.rb
thecore_auth_commons-2.4.0 app/models/permission.rb
thecore_auth_commons-2.3.9 app/models/permission.rb
thecore_auth_commons-2.3.8 app/models/permission.rb
thecore_auth_commons-2.3.7 app/models/permission.rb
thecore_auth_commons-2.3.6 app/models/permission.rb
thecore_auth_commons-2.3.5 app/models/permission.rb
thecore_auth_commons-2.3.4 app/models/permission.rb
thecore_auth_commons-2.3.3 app/models/permission.rb
thecore_auth_commons-2.3.2 app/models/permission.rb
thecore_auth_commons-2.3.1 app/models/permission.rb