Module: ObjectBouncer::Doorman
- Defined in:
- lib/objectbouncer/base.rb,
lib/objectbouncer/class_methods.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #apply_policies(key = nil) ⇒ Object
- #current_user ⇒ Object
- #current_user=(user) ⇒ Object
- #policies ⇒ Object
- #with(user) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/objectbouncer/base.rb', line 44 def self.included(klass) klass.extend ClassMethods klass.overwrite_initialize klass.instance_eval do end end |
Instance Method Details
#apply_policies(key = nil) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/objectbouncer/base.rb', line 30 def apply_policies(key = nil) if key && policies.keys.include?(key) self.class.protect_method!(key, force = true) else policies.keys.each do |method| self.class.protect_method!(method) end end end |
#current_user ⇒ Object
25 26 27 |
# File 'lib/objectbouncer/base.rb', line 25 def current_user @current_user ||= self.class.current_user end |
#current_user=(user) ⇒ Object
21 22 23 |
# File 'lib/objectbouncer/base.rb', line 21 def current_user=(user) @current_user = user end |
#policies ⇒ Object
40 41 42 |
# File 'lib/objectbouncer/base.rb', line 40 def policies @policies || self.class.policies end |
#with(user) ⇒ Object
17 18 19 |
# File 'lib/objectbouncer/base.rb', line 17 def with(user) self end |