Sha256: 64ce5a4957ba737c860989a503c4d0dd25b9c9b0df39e1da7efdc3c0179d9286
Contents?: true
Size: 1.03 KB
Versions: 40
Compression:
Stored size: 1.03 KB
Contents
require 'apps/core/auth/models/mixins/rbac_provider' module RBAC def self.define_context(name, permissions=nil, options={}) permissions ||= Spider::OrderedHash[] @contexts ||= {} @labels ||= {} inline_data = Spider::OrderedHash[] permissions.clone.each do |k, v| unless v.is_a?(Hash) permissions[k] = {:label => v} end inline_data[k] = permissions[k][:label] end @contexts[name] = permissions @options ||= {} @options[name] = options @labels[name] = inline_data end def self.add_to_context(name, key, val) val = {:label => val} unless val.is_a?(Hash) @contexts[name][key] = val @labels[name][key] = val[:label] end def self.context(name) @contexts[name] end def self.context?(name) @contexts[name] != nil end def self.labels(name) @labels[name] end def self.options(name) @options[name] || {} end end
Version data entries
40 entries across 40 versions & 1 rubygems