Permalink
Browse files

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.
  • Loading branch information...
1 parent ecda6df commit 8b1ccd5949395530296daf3c0d620a8106e9ac4b @carlosantoniodasilva carlosantoniodasilva committed Mar 4, 2014
Showing with 1 addition and 4 deletions.
  1. +1 −4 actionview/lib/action_view/helpers/form_tag_helper.rb
@@ -469,16 +469,13 @@ def submit_tag(value = "Save changes", options = {})
# # => <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

0 comments on commit 8b1ccd5

Please sign in to comment.