module SweetAlertConfirm module ViewHelpers def link_to(*args, &block) html_options = args[block_given? ? 1 : 2] || {} if options_has_confirm?(html_options) html_options['data-sweet-alert-confirm'] = html_options.delete(:confirm) || html_options[:data].delete(:confirm) end super *args, &block end def submit_tag(value = 'Save changes', options = {}) options['data-sweet-alert-confirm'] = options.delete(:confirm) || options[:data].delete(:confirm) if options_has_confirm?(options) super value, options end def button_tag(*args, &block) html_options = args[block_given? ? 0 : 1] || {} if options_has_confirm?(html_options) html_options['data-sweet-alert-confirm'] = html_options.delete(:confirm) || html_options[:data].delete(:confirm) end super *args, &block end protected def options_has_confirm?(options) if (options[:confirm] || (options[:data] && options[:data][:confirm])) true else false end end end end