Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
uoy-faculty-rbac / lib / faculty_rbac / controller.rb
Size: Mime:
# frozen_string_literal: true

module FacultyRBAC
  # Controller class - encapsulates the database connection and spawns other classes
  class Controller
    attr_accessor :db

    def initialize(db_connection)
      @db = db_connection
      @db.extension :pg_json
    end

    def user(username)
      User.new self, username
    end

    def group(group_id)
      Group.new self, group_id
    end

    def create_group(**params)
      Group.create self, **params
    end

    def role(role_name)
      Role.by_name self, role_name
    end

    def create_role(role_name)
      Role.create self, role_name
    end
  end
end