lib/action_control.rb in action_control-0.2 vs lib/action_control.rb in action_control-0.3

- old
+ new

@@ -7,30 +7,48 @@ # Raise an error if the #authorize? action isn't defined. # # This ensures that you actually do authorization in your controller. raise ActionControl::AuthorizationNotPerformedError unless defined?(authorized?) + error = {} + is_authorized = nil + + if method(:authorized?).arity > 0 + is_authorized = authorized?(error) + else + is_authorized = authorized? + end + # If the authorized? method does not return true # it raises the ActionControl::NotAuthorizedError # # Use the .rescue_from method from ActionController::Base # to catch the exception and show the user a proper error message. - raise ActionControl::NotAuthorizedError unless authorized? == true + raise ActionControl::NotAuthorizedError.new(error) unless is_authorized == true end # Authenticates the user def authenticate! # Raise an error if the #authenticate? action isn't defined. # # This ensures that you actually do authentication in your controller. raise ActionControl::AuthenticationNotPerformedError unless defined?(authenticated?) + error = {} + is_authenticated = nil + + if method(:authenticated?).arity > 0 + is_authenticated = authenticated?(error) + else + is_authenticated = authenticated? + end + # If the authenticated? method returns not true # it raises the ActionControl::NotAuthenticatedError. # # Use the .rescue_from method from ActionController::Base # to catch the exception and show the user a proper error message. - raise ActionControl::NotAuthenticatedError unless authenticated? == true + raise ActionControl::NotAuthenticatedError.new(error) unless is_authenticated == true end end # Load action control railtie require 'action_control/railtie'