class PaymentInput < SimpleForm::Inputs::Base def input(wrapper_options) custom_input_options = { value: value, maxlength: 16 } merged_input_options = merge_wrapper_options(input_html_options, wrapper_options) merged_input_options = merge_wrapper_options(custom_input_options, merged_input_options) @builder.text_field(attribute_name, merged_input_options) end def value before_type_cast_value = object.send("#{attribute_name}_money_before_type_cast") current_value = object.send(attribute_name) humanized_current_value = template.humanized_money(current_value) before_type_cast_value || humanized_current_value end end