Module: Bhf::ActiveRecord::Self

Defined in:
lib/bhf/active_record.rb

Instance Method Summary collapse

Instance Method Details

#bhf_default_search(search_term) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/bhf/active_record.rb', line 20

def bhf_default_search(search_term)
  where_statement = []
  columns_hash.each_pair do |name, props|
    is_number = search_term.to_i.to_s == search_term || search_term.to_f.to_s == search_term

    if props.type == :string || props.type == :text
      where_statement << "#{name} LIKE '%#{search_term}%'"
    elsif props.type == :integer && is_number
      where_statement << "#{name} = #{search_term.to_i}"
    elsif props.type == :float && is_number
      where_statement << "#{name} = #{search_term.to_f}"
    end
  end

  where_statement.join(' OR ')
end