From 8d61463f34fd0bb7bad446f2d43aaa63fee61563 Mon Sep 17 00:00:00 2001
From: Carlos Antonio da Silva <carlosantoniodasilva@gmail.com>
Date: Thu, 31 Jul 2014 13:05:56 -0300
Subject: Push options check up so we can simplify internal methods

---
 actionpack/lib/action_dispatch/http/url.rb | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

(limited to 'actionpack/lib')

diff --git a/actionpack/lib/action_dispatch/http/url.rb b/actionpack/lib/action_dispatch/http/url.rb
index 473f692b05..32234d18ab 100644
--- a/actionpack/lib/action_dispatch/http/url.rb
+++ b/actionpack/lib/action_dispatch/http/url.rb
@@ -51,28 +51,25 @@ module ActionDispatch
         def path_for(options)
           result  = options[:script_name].to_s.chomp("/")
           result << options[:path].to_s
-
           result = add_trailing_slash(result) if options[:trailing_slash]
-
-          result = add_params options, result
-          add_anchor options, result
+          result = add_params(result, options[:params]) if options.key?(:params)
+          result = add_anchor(result, options[:anchor]) if options.key?(:anchor)
+          result
         end
 
         private
 
-        def add_params(options, result)
-          if options.key? :params
-            param  = options[:params]
-            params = param.is_a?(Hash) ? param : { params: param }
+        def add_params(result, param)
+          params = param.is_a?(Hash) ? param : { params: param }
+
+          params.reject! { |_,v| v.to_param.nil? }
+          result << "?#{params.to_query}" unless params.empty?
 
-            params.reject! { |_,v| v.to_param.nil? }
-            result << "?#{params.to_query}" unless params.empty?
-          end
           result
         end
 
-        def add_anchor(options, result)
-          result << "##{Journey::Router::Utils.escape_fragment(options[:anchor].to_param.to_s)}" if options[:anchor]
+        def add_anchor(result, anchor)
+          result << "##{Journey::Router::Utils.escape_fragment(anchor.to_param.to_s)}"
           result
         end
 
-- 
cgit v1.2.3