Module: SimpleAccessControl::ClassMethods

Defined in:
lib/simple_access_control.rb

Instance Method Summary collapse

Instance Method Details

#access_control(ruleset = {}) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/simple_access_control.rb', line 17

def access_control(ruleset = {})
  ruleset.each do |actions, rule|
    case actions
    when :DEFAULT
      access_rule rule
    when Array, Symbol, String
      access_rule rule, :only => actions
    end
  end
end

#access_rule(rule, filter_options = {}) ⇒ Object

This is the core of the filtering system and it couldn’t be simpler:

access_rule '(admin || moderator)', :only => [:edit, :update]


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

def access_rule(rule, filter_options = {})
  before_filter (filter_options||{}) { |c| c.send :permission_required, rule }
end