diff --git a/lib/ssl_requirement.rb b/lib/ssl_requirement.rb index dd4a345..8e68131 100644 --- a/lib/ssl_requirement.rb +++ b/lib/ssl_requirement.rb @@ -34,15 +34,15 @@ def ssl_allowed(*actions) write_inheritable_array(:ssl_allowed_actions, actions) end end - + protected # Returns true if the current action is supposed to run as SSL - def ssl_required? - (self.class.read_inheritable_attribute(:ssl_required_actions) || []).include?(action_name.to_sym) + def ssl_required?(action = action_name) + (self.class.read_inheritable_attribute(:ssl_required_actions) || []).include?(action.to_sym) end - - def ssl_allowed? - (self.class.read_inheritable_attribute(:ssl_allowed_actions) || []).include?(action_name.to_sym) + + def ssl_allowed?(action = action_name) + (self.class.read_inheritable_attribute(:ssl_allowed_actions) || []).include?(action.to_sym) end private @@ -50,7 +50,7 @@ def ensure_proper_protocol return true if ssl_allowed? if ssl_required? && !request.ssl? - redirect_to "https://" + request.host + request.request_uri + redirect_to "https://" + request.host + request.request_uri, :status => :moved_permanently flash.keep return false elsif request.ssl? && !ssl_required? @@ -59,4 +59,4 @@ def ensure_proper_protocol return false end end -end \ No newline at end of file +end