Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Refatoring the method to avoid shot-circuit return

  • Loading branch information...
commit ab51b285e2cccdc0cbdcd2daa04a7fd2fbb661ea 1 parent d6e3fd7
@rafaelfranca rafaelfranca authored
View
11 activesupport/lib/active_support/core_ext/object/to_param.rb
@@ -51,9 +51,12 @@ class Hash
#
# This method is also aliased as +to_query+.
def to_param(namespace = nil)
- return (namespace ? nil.to_query(namespace) : '') if empty?
- collect do |key, value|
- value.to_query(namespace ? "#{namespace}[#{key}]" : key)
- end.sort! * '&'
+ if empty?
+ namespace ? nil.to_query(namespace) : ''
+ else
+ collect do |key, value|
+ value.to_query(namespace ? "#{namespace}[#{key}]" : key)
+ end.sort! * '&'
+ end
end
end
View
2  activesupport/test/core_ext/object/to_query_test.rb
@@ -47,6 +47,8 @@ def test_array_values_are_not_sorted
end
def test_nested_empty_hash
+ assert_equal '',
+ {}.to_query
assert_query_equal 'a=1&b%5Bc%5D=3&b%5Bd%5D=',
{ a: 1, b: { c: 3, d: {} } }
assert_query_equal 'b%5Bc%5D=false&b%5Be%5D=&b%5Bf%5D=&p=12',
Please sign in to comment.
Something went wrong with that request. Please try again.