Module: Deny
- Extended by:
- ActiveSupport::Concern
- Included in:
- Site::BaseController
- Defined in:
- app/support/deny.rb
Instance Method Summary collapse
Instance Method Details
#deny!(options = {}) ⇒ Object
es.
deny! :if => user.logged_in? deny! :if => -> { … } deny!
before_filter :deny! :if => :guest?
def guest?
!current_user
end
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/support/deny.rb', line 16 def deny!( = {}) negate = false expr = if .has_key?(:if) .delete(:if) elsif .has_key?(:unless) negate = true .delete(:unless) else true end condition = if expr.is_a?(Proc) expr.arity != 0 ? expr.call(self) : expr.call else expr end condition = negate ? !condition : condition if condition raise DeniedError.new end false end |