Sha256: db189c165b70211a57fbcebfe559146423e493eb41c548c00fac97b3ea8f5ed9

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

module ProxES
  class ProxES
    def self.migration_folder
      File.expand_path('../../../migrate', __FILE__)
    end

    def self.route_mappings
      require 'proxes/app'
      require 'proxes/controllers/users'
      require 'proxes/controllers/roles'
      require 'proxes/controllers/permissions'
      require 'proxes/controllers/audit_logs'

      {
        '/' => ::ProxES::App,
        '/users' => ::ProxES::Users,
        '/roles' => ::ProxES::Roles,
        '/permissions' => ::ProxES::Permissions,
        '/audit-logs' => ::ProxES::AuditLogs,
      }
    end

    def self.nav_items
      [
        { order: 0, link:'/users/', text: 'Users', target: User, icon: 'user' },
        { order: 1, link:'/roles/', text: 'Roles', target: Role, icon: 'group' },
        { order: 2, link:'/permissions/', text: 'Permissions', target: Permission, icon: 'check-square' },
      ]
    end

    def self.seeder
      Proc.new do
        ::ProxES::Role.find_or_create(name: 'user')
        sa = ::ProxES::Role.find_or_create(name: 'super_admin')
        %w(GET POST PUT DELETE HEAD OPTIONS INDEX).each do |verb|
          ::ProxES::Permission.find_or_create(role: sa, verb: verb, pattern: '.*')
        end
      end
    end
  end
end

ProxES::Container::Plugins.register_plugin(:proxes, ProxES::ProxES)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
proxes-0.4.0 lib/proxes/proxes.rb