aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2014-03-04 08:21:32 -0300
committerCarlos Antonio da Silva <carlosantoniodasilva@gmail.com>2014-03-04 08:23:00 -0300
commit8b1ccd5949395530296daf3c0d620a8106e9ac4b (patch)
treed21fecaf42f046282624fcab80aa5c4ee2d22c0f
parentecda6dfbdcd3103699465e846deaaf7feb3e9916 (diff)
downloadrails-8b1ccd5949395530296daf3c0d620a8106e9ac4b.tar.gz
rails-8b1ccd5949395530296daf3c0d620a8106e9ac4b.tar.bz2
rails-8b1ccd5949395530296daf3c0d620a8106e9ac4b.zip
Simplify handling of defaults/options in button_tag
There's no need to rely on Active Support's Hash#reverse_merge for simple cases with default values, since we can just merge from the default rather than reverse merge from the options. This also avoids the creation of one extra hash object by moving to a Hash#merge! call.
-rw-r--r--actionview/lib/action_view/helpers/form_tag_helper.rb5
1 files changed, 1 insertions, 4 deletions
diff --git a/actionview/lib/action_view/helpers/form_tag_helper.rb b/actionview/lib/action_view/helpers/form_tag_helper.rb
index 961d01eff4..326e303971 100644
--- a/actionview/lib/action_view/helpers/form_tag_helper.rb
+++ b/actionview/lib/action_view/helpers/form_tag_helper.rb
@@ -469,16 +469,13 @@ module ActionView
# # => <button data-disable-with="Please wait..." name="button" type="submit">Checkout</button>
#
def button_tag(content_or_options = nil, options = nil, &block)
- default_options = { 'name' => 'button', 'type' => 'submit' }
-
if content_or_options.is_a? Hash
options = content_or_options
else
options ||= {}
end
- options = options.stringify_keys
- options = options.reverse_merge default_options
+ options = { 'name' => 'button', 'type' => 'submit' }.merge!(options.stringify_keys)
if block_given?
content_tag :button, options, &block