Sha256: 5362bcda0959bde3d8b197d30cb0c76fc3c9cbeffb8a3c07be1dd1f844646844

Contents?: true

Size: 375 Bytes

Versions: 4

Compression:

Stored size: 375 Bytes

Contents

module Roles
  module ActionFilters
    def require_role(role, options = {})
      method = "_require_role_#{role}_#{Time.now.to_i}"
      
      define_method method do
        raise Unauthorized unless send(:current_user) and send(:current_user).is?(:"#{role}")
      end
      
      before_filter method, options
    end
  end
  
  class Unauthorized < Exception; end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
objectreload-roles-0.1.4 lib/action_filters.rb
objectreload-roles-0.1.2 lib/action_filters.rb
objectreload-roles-0.1.1 lib/action_filters.rb
objectreload-roles-0.1.0 lib/action_filters.rb