module Acl9::Helpers
Public Class Methods
Source
# File lib/acl9/helpers.rb, line 3 def self.included(base) base.extend ClassMethods end
Public Instance Methods
Source
# File lib/acl9/helpers.rb, line 26 def show_to(*args, &block) user = send(Acl9.config[:default_subject_method]) return if user.nil? has_any = false if args.last.is_a?(Hash) an_obj = args.pop.values.first has_any = args.detect { |role| user.has_role?(role, an_obj) } else has_any = args.detect { |role| user.has_role?(role) } end if has_any begin capture( &block ) rescue NoMethodError yield( :block ) end end end
Usage:
<%=show_to(:owner, :supervisor, :of => :account) do %> <%= 'hello' %> <% end %>