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

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_userObject



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

#policiesObject



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