Permalink
Browse files

Update documentation for force_ssl - closes #5023.

  • Loading branch information...
1 parent ab83890 commit c04a08470f787ff501440827a6c7b11d6bc34832 @pixeltrix pixeltrix committed Feb 23, 2012
Showing with 26 additions and 1 deletion.
  1. +12 −0 actionpack/CHANGELOG.md
  2. +14 −1 actionpack/lib/action_controller/metal/force_ssl.rb
View
@@ -1,5 +1,17 @@
## Rails 4.0.0 (unreleased) ##
+* Don't ignore `force_ssl` in development. This is a change of behavior - use a `:if` condition to recreate the old behavior.
+
+ class AccountsController < ApplicationController
+ force_ssl :if => :ssl_configured?
+
+ def ssl_configured?
+ !Rails.env.development?
+ end
+ end
+
+ *Pat Allan*
+
* Adds support for the PATCH verb:
* Request objects respond to `patch?`.
* Routes have a new `patch` method, and understand `:patch` in the
@@ -18,11 +18,24 @@ module ClassMethods
# Force the request to this particular controller or specified actions to be
# under HTTPS protocol.
#
- # Note that this method will not be effective on development environment.
+ # If you need to disable this for any reason (e.g. development) then you can use
+ # an +:if+ or +:unless+ condition.
+ #
+ # class AccountsController < ApplicationController
+ # force_ssl :if => :ssl_configured?
+ #
+ # def ssl_configured?
+ # !Rails.env.development?
+ # end
+ # end
#
# ==== Options
# * <tt>only</tt> - The callback should be run only for this action
# * <tt>except<tt> - The callback should be run for all actions except this action
+ # * <tt>if</tt> - A symbol naming an instance method or a proc; the callback
+ # will be called only when it returns a true value.
+ # * <tt>unless</tt> - A symbol naming an instance method or a proc; the callback
+ # will be called only when it returns a false value.
def force_ssl(options = {})
host = options.delete(:host)
before_filter(options) do

0 comments on commit c04a084

Please sign in to comment.