Sha256: 6cd1b92f7d7d988bb3cd6341d473856d5cbcac49cf1a4af5b0ed915bd3550909

Contents?: true

Size: 522 Bytes

Versions: 2

Compression:

Stored size: 522 Bytes

Contents

module Addresses
  class City < ActiveRecord::Base
    belongs_to :state

    has_many :neighborhoods

    def self.filter(params = {})
      query_word = 'like'

      query_word = 'ilike' if adapter == 'postgresql'

      cities = City.order('name asc')
      
      cities = cities.where("name #{query_word} ?", "%#{params[:name]}%") if params[:name]

      cities
    end

    private

    def self.adapter
      ActiveRecord::Base.connection.instance_values["config"][:adapter]
    rescue
      nil
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
addresses-1.0.9 app/models/addresses/city.rb
addresses-1.0.8 app/models/addresses/city.rb