Class: RbacRls::Permission
Class Method Summary
collapse
#delete_file, #delete_nested_policy, #down_migrate, #get_migration_file_path
Class Method Details
.all_tables(schema = :public, except = []) ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'app/models/rbac_rls/permission.rb', line 18
def self.all_tables(schema = :public, except = [])
removed = [:permissions, :roles, :user_roles, :schema_migrations, :ar_internal_metadata, :users,
:groups, :group_permissions, :group_users, :role_permissions] + except
sql = "SELECT table_name FROM information_schema.tables #{where_schema(schema)} "
result = ActiveRecord::Base.connection.select_all(sql)
tables = result.map { |k| k['table_name'] }.select { |t| removed.exclude?(t.to_sym) }
tables
end
|
.where_schema(schema_name = nil) ⇒ Object
27
28
29
|
# File 'app/models/rbac_rls/permission.rb', line 27
def self.where_schema(schema_name = nil)
schema_name.present? ? "WHERE table_schema = '#{schema_name}'" : ''
end
|