Module: Merb::Plugins::Doorman::ClassMethods

Defined in:
lib/merb_doorman.rb

Instance Method Summary collapse

Instance Method Details

#_add_acl(type, args, block) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/merb_doorman.rb', line 42

def _add_acl(type, args, block)
  opts = args.is_a?(Array) ? args.first : args
  if opts == :all
    @_doorman_default = type
    return true
  end
  if block
    _doorman_list << Rule.from_block(type, opts, &block)
  else
    _doorman_list << Rule.from_hash(type, opts)
  end
end

#_clear_acl_listObject



38
39
40
# File 'lib/merb_doorman.rb', line 38

def _clear_acl_list
  @_doorman_list = nil
end

#_doorman_defaultObject



26
27
28
# File 'lib/merb_doorman.rb', line 26

def _doorman_default
  @_doorman_default ||= :allow
end

#_doorman_listObject



22
23
24
# File 'lib/merb_doorman.rb', line 22

def _doorman_list
  @_doorman_list ||= []
end

#_doorman_role_blockObject



59
60
61
# File 'lib/merb_doorman.rb', line 59

def _doorman_role_block
  Merb::Plugins.config[:merb_doorman][:role_block]
end

#_doorman_user_blockObject



55
56
57
# File 'lib/merb_doorman.rb', line 55

def _doorman_user_block
  Merb::Plugins.config[:merb_doorman][:user_block]
end

#allow(*args, &block) ⇒ Object



34
35
36
# File 'lib/merb_doorman.rb', line 34

def allow(*args, &block)
  _add_acl(:allow, args, block)
end

#deny(*args, &block) ⇒ Object



30
31
32
# File 'lib/merb_doorman.rb', line 30

def  deny(*args, &block)
  _add_acl(:deny, args, block)
end