lib/formtastic/inputs/base/naming.rb
# frozen_string_literal: true
module Formtastic
module Inputs
module Base
module Naming
def as
self.class.name.split("::")[-1].underscore.gsub(/_input$/, '')
end
def sanitized_object_name
object_name.to_s.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "")
end
def sanitized_method_name
@sanitized_method_name ||= method.to_s.gsub(/[\?\/\-]$/, '')
end
def attributized_method_name
method.to_s.gsub(/_id$/, '').to_sym
end
def humanized_method_name
if builder.label_str_method != :humanize
# Special case where label_str_method should trump the human_attribute_name
# TODO: is this actually a desired bheavior, or should we ditch label_str_method and
# rely purely on :human_attribute_name.
method.to_s.send(builder.label_str_method)
elsif object && object.class.respond_to?(:human_attribute_name)
object.class.human_attribute_name(method.to_s)
else
method.to_s.send(builder.label_str_method)
end
end
def input_name
association_primary_key
end
end
end
end
end