From 9d25bead00242cfca3f47fa5c6fd6419c89ead6a Mon Sep 17 00:00:00 2001 From: manishk Date: Fri, 25 Apr 2014 12:43:10 +0530 Subject: [PATCH 1/2] Support for checking if other actions are ssl required/enabled in the same controller --- lib/ssl_requirement.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/ssl_requirement.rb b/lib/ssl_requirement.rb index dd4a345..986309b 100644 --- a/lib/ssl_requirement.rb +++ b/lib/ssl_requirement.rb @@ -37,12 +37,12 @@ def ssl_allowed(*actions) 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 From 0893f12ab7addcabeb29f72eea73fc5b0a7ad404 Mon Sep 17 00:00:00 2001 From: manishk Date: Fri, 7 Jul 2017 10:56:57 +0530 Subject: [PATCH 2/2] Permanent redirect --- lib/ssl_requirement.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/ssl_requirement.rb b/lib/ssl_requirement.rb index 986309b..8e68131 100644 --- a/lib/ssl_requirement.rb +++ b/lib/ssl_requirement.rb @@ -34,13 +34,13 @@ 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?(action = action_name) (self.class.read_inheritable_attribute(:ssl_required_actions) || []).include?(action.to_sym) end - + def ssl_allowed?(action = action_name) (self.class.read_inheritable_attribute(:ssl_allowed_actions) || []).include?(action.to_sym) end @@ -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