module Motor::BuildSchema::FindDisplayColumn
Constants
- DISPLAY_NAMES
- DISPLAY_NAME_REGEXP
Public Instance Methods
call(model)
click to toggle source
# File lib/motor/build_schema/find_display_column.rb, line 42 def call(model) column_names = fetch_column_names(model) select_column_name(column_names) end
fetch_column_names(model)
click to toggle source
# File lib/motor/build_schema/find_display_column.rb, line 55 def fetch_column_names(model) model.columns.map do |column| next unless column.type.in?(BuildSchema::SEARCHABLE_COLUMN_TYPES) next if column.respond_to?(:array?) && column.array? column.name end.compact end
select_column_name(column_names)
click to toggle source
# File lib/motor/build_schema/find_display_column.rb, line 48 def select_column_name(column_names) name = column_names.find { |column_name| column_name.in?(DISPLAY_NAMES) } name ||= column_names.find { |column_name| column_name.match?(DISPLAY_NAME_REGEXP) } name end