Repository URL to install this package:
|
Version:
6.1.1 ▾
|
# frozen_string_literal: true
require_relative 'group/query'
require_relative 'group/modify'
require_relative 'group/registration'
module FacultyRBAC
# Container class to encapsulate all group methods
class Group
def self.create(controller, type:, context:, description:)
controller.db.transaction do
gid = controller.db[:rbac_group].insert
g = Group.new(controller, gid)
g.register(type:, context:, description:)
g
end
end
def initialize(controller, group_id)
@id = group_id.to_i
@controller = controller
end
attr_reader :id
def to_i
@id
end
def _db
@controller.db
end
def delete
_db[:rbac_group].where(id: @id).delete
end
include Query
include Modify
include Registration
end
end