module SimpleAccessControl::ClassMethods

Public Instance Methods

access_control(ruleset = {}) click to toggle source
# 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 = {}) click to toggle source

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

access_rule '(admin || moderator)', :only => [:edit, :update]
# 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