class Primer::Forms::Button
:nodoc:
def initialize(input:, type: :button)
def initialize(input:, type: :button) @input = input @type = type @input.add_input_classes("FormField-input flex-self-start") @input.merge_input_arguments!(tag_attributes.deep_symbolize_keys) # rails uses a string for this, but PVC wants a symbol @input.merge_input_arguments!(type: type.to_sym) end
def input_arguments
def input_arguments @input_arguments ||= @input.input_arguments.deep_dup.tap do |args| # rails uses :class but PVC wants :classes args[:classes] = class_names( args[:classes], args.delete(:class) ) end end
def tag_attributes
def tag_attributes case @type when :submit ButtonAttributeGenerator.submit_tag_attributes(@input.label, name: @input.name) else ButtonAttributeGenerator.button_tag_attributes(@input.label, name: @input.name) end end