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

Version Path
spiderfw-1.0.1 apps/core/auth/lib/rbac.rb
spiderfw-1.0.0 apps/core/auth/lib/rbac.rb
spiderfw-0.6.39 apps/core/auth/lib/rbac.rb
spiderfw-0.6.38 apps/core/auth/lib/rbac.rb
spiderfw-0.6.37 apps/core/auth/lib/rbac.rb
spiderfw-0.6.35 apps/core/auth/lib/rbac.rb
spiderfw-0.6.34 apps/core/auth/lib/rbac.rb
spiderfw-0.6.33 apps/core/auth/lib/rbac.rb
spiderfw-0.6.32 apps/core/auth/lib/rbac.rb
spiderfw-0.6.31 apps/core/auth/lib/rbac.rb
spiderfw-0.6.30 apps/core/auth/lib/rbac.rb
spiderfw-0.6.29 apps/core/auth/lib/rbac.rb
spiderfw-0.6.28 apps/core/auth/lib/rbac.rb
spiderfw-0.6.27 apps/core/auth/lib/rbac.rb
spiderfw-0.6.26 apps/core/auth/lib/rbac.rb
spiderfw-0.6.26.pre1 apps/core/auth/lib/rbac.rb
spiderfw-0.6.25 apps/core/auth/lib/rbac.rb
spiderfw-0.6.24 apps/core/auth/lib/rbac.rb
spiderfw-0.6.23 apps/core/auth/lib/rbac.rb
spiderfw-0.6.22 apps/core/auth/lib/rbac.rb