@@ -9,13 +9,10 @@ module RadioButton
99 included do
1010 def radio_button_with_bootstrap ( name , value , *args )
1111 options = args . extract_options! . symbolize_keys!
12- radio_button_options = options . except ( :class , :label , :label_class , :error_message , :help ,
13- :inline , :hide_label , :skip_label , :wrapper , :wrapper_class )
14-
15- radio_button_options [ :class ] = radio_button_classes ( name , options )
16-
17- tag . div ( class : radio_button_wrapper_class ( options ) , **options [ :wrapper ] . to_h . except ( :class ) ) do
18- html = radio_button_without_bootstrap ( name , value , radio_button_options )
12+ wrapper_attributes = options [ :wrapper ] || { }
13+ wrapper_attributes [ :class ] = radio_button_wrapper_class ( options )
14+ tag . div ( **wrapper_attributes ) do
15+ html = radio_button_without_bootstrap ( name , value , radio_button_options ( name , options ) )
1916 html . concat ( radio_button_label ( name , value , options ) ) unless options [ :skip_label ]
2017 html . concat ( generate_error ( name ) ) if options [ :error_message ]
2118 html
@@ -27,6 +24,13 @@ def radio_button_with_bootstrap(name, value, *args)
2724
2825 private
2926
27+ def radio_button_options ( name , options )
28+ radio_button_options = options . except ( :class , :label , :label_class , :error_message , :help ,
29+ :inline , :hide_label , :skip_label , :wrapper , :wrapper_class )
30+ radio_button_options [ :class ] = radio_button_classes ( name , options )
31+ radio_button_options
32+ end
33+
3034 def radio_button_label ( name , value , options )
3135 label_options = { value : value , class : radio_button_label_class ( options ) }
3236 label_options [ :for ] = options [ :id ] if options [ :id ] . present?
@@ -51,8 +55,8 @@ def radio_button_wrapper_class(options)
5155 classes = [ "form-check" ]
5256 classes << "form-check-inline" if layout_inline? ( options [ :inline ] )
5357 classes << "disabled" if options [ :disabled ]
54- classes << options [ :wrapper ] [ :class ] if options . dig ( :wrapper , :class ) . present?
55- classes << options [ :wrapper_class ] if options [ :wrapper_class ] . present?
58+ classes << options . dig ( :wrapper , :class ) . presence
59+ classes << options [ :wrapper_class ] . presence
5660 classes . flatten . compact
5761 end
5862 end
0 commit comments