Class: Lookout::CityQuery

Inherits:
ApplicationQuery show all
Defined in:
app/queries/lookout/city_query.rb

Instance Attribute Summary

Attributes inherited from ApplicationQuery

#params

Instance Method Summary collapse

Methods inherited from ApplicationQuery

call, inherited, #initialize, #inspect

Constructor Details

This class inherits a constructor from Lookout::ApplicationQuery

Instance Method Details

#buildObject



3
4
5
6
7
8
9
10
11
12
# File 'app/queries/lookout/city_query.rb', line 3

def build
  # Use database-agnostic concat
  concat_expr = Lookout::DatabaseAdapter.concat('city', 'region', 'country')
  
  visit_query
    .select("city, country, count(#{concat_expr}) as count, sum(count(#{concat_expr})) over() as total_count")
    .where.not(city: nil)
    .group("city, region, country")
    .order(Arel.sql "count(#{concat_expr}) desc")
end