# File lib/auth_assistant/helpers/roles.rb, line 12 def not_roles_area(*user_roles, options, &block) options ||= {} not_roles_block user_roles do clazz = options[:class] || 'special' do_roles_area(clazz, &block) end end
# File lib/auth_assistant/helpers/roles.rb, line 24 def not_roles_block(*user_roles, &block) with_output_buffer(&block) if !role?(user_roles) end
# File lib/auth_assistant/helpers/roles.rb, line 28 def role?(*user_roles) devise_role?(user_roles) || cancan_role?(user_roles) end
# File lib/auth_assistant/helpers/roles.rb, line 4 def roles_area(*user_roles, options, &block) options ||= {} roles_block user_roles do clazz = options[:class] || 'special' do_roles_area(clazz, &block) end end
# File lib/auth_assistant/helpers/roles.rb, line 20 def roles_block(*user_roles, &block) with_output_buffer(&block) if role?(user_roles) end
# File lib/auth_assistant/helpers/roles.rb, line 46 def cancan_role?(user_roles) union = current_user.roles & user_roles !union.empty? end
# File lib/auth_assistant/helpers/roles.rb, line 42 def devise_role?(user_roles) user_roles.flatten.any?{|role| warden.authenticate?(:scope => role.to_sym)} end
# File lib/auth_assistant/helpers/roles.rb, line 37 def do_roles_area(clazz, &block) content = with_output_buffer(&block) content_tag :div, content, :class => clazz end
# File lib/auth_assistant/helpers/roles.rb, line 32 def self.included(base) base.helper_method :roles_block, :not_roles_block, :roles_area, :not_roles_area, :role? end