Sha256: d2514dcec0f983178cefd74fef1f9ce2ad71a7160e3bdc6047836ec95d33883c

Contents?: true

Size: 484 Bytes

Versions: 8

Compression:

Stored size: 484 Bytes

Contents

# frozen_string_literal: true
module C
  class Role < ApplicationRecord
    has_many :permissions
    accepts_nested_attributes_for :permissions

    has_many :user_roles
    has_many :users, through: :user_roles

    validates :name, presence: true

    def build_or_find_permissions
      PermissionSubject.find_each do |subject|
        permissions.collect(&:permission_subject_id).include?(subject.id) || permissions.build(permission_subject: subject)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cd2_catton_cms-1.1.35 app/models/c/role.rb
cd2_catton_cms-1.1.34 app/models/c/role.rb
cd2_catton_cms-1.1.33 app/models/c/role.rb
cd2_catton_cms-1.1.32 app/models/c/role.rb
cd2_catton_cms-1.1.31 app/models/c/role.rb
cd2_catton_cms-1.1.30 app/models/c/role.rb
cd2_catton_cms-1.1.20 app/models/c/role.rb
cd2_catton_cms-1.1.10 app/models/c/role.rb