Sha256: a26e3e8f1ab78bf99bb2625fd738fc080d211628698f0f6e7032f49da18076d8
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
# encoding: UTF-8 module Spontaneous::Plugins module Permissions module ClassMethods def box_readable?(box_name) box_permission(box_name, :read_level) end def box_writable?(box_name) box_permission(box_name, :write_level) end def field_readable?(field_name) field_permission(field_name, :read_level) end def field_writable?(field_name) field_permission(field_name, :write_level) end def field_permission(field_name, test) return true unless user = Spontaneous::Permissions.active_user if field = field_prototypes[field_name.to_sym] user.level >= field.__send__(test) else nil # or perhaps throw error end end def box_permission(box_name, test) return true unless user = Spontaneous::Permissions.active_user if box = boxes[box_name.to_sym] user.level >= box.__send__(test) else nil # or perhaps throw error end end end # ClassMethods module InstanceMethods def field_readable?(field_name) self.class.field_readable?(field_name) end def field_writable?(field_name) self.class.field_writable?(field_name) end def box_writable?(box_name) self.class.box_writable?(box_name) end def box_readable?(box_name) self.class.box_readable?(box_name) end end # InstanceMethods end # Permissions end # Spontaneous::Plugins
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spontaneous-0.1.0.alpha1 | lib/spontaneous/plugins/permissions.rb |