Method: ActionDispatch::Routing::RouteSet#url_for_with_secure_option

Defined in:
lib/url_for.rb

#url_for_with_secure_option(options = {}) ⇒ Object

Add a secure option to the rewrite method.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/url_for.rb', line 9

def url_for_with_secure_option(options = {})
  secure = options.delete(:secure)

  # if secure && ssl check is not disabled, convert to full url with https
  if !secure.nil? && !SslRequirement.disable_ssl_check?
    if secure == true || secure == 1 || secure.to_s.downcase == "true"
      options.merge!({
        :only_path => false,
        :protocol => 'https'
      })

      # if we've been told to use different host for ssl, use it
      unless SslRequirement.ssl_host.nil?
        options.merge! :host => SslRequirement.ssl_host
      end

      # make it non-ssl and use specified options
    else
      options.merge!({
        :protocol => 'http'
      })
    end
  end

  url_for_without_secure_option(options)
end