Module: ESA::Traits::UnionScope::ClassMethods

Defined in:
app/models/esa/traits/union_scope.rb

Instance Method Summary collapse

Instance Method Details

#union_scope(*scopes) ⇒ Object



14
15
16
17
18
# File 'app/models/esa/traits/union_scope.rb', line 14

def union_scope(*scopes)
  id_column = "#{table_name}.id"
  sub_query = scopes.map { |s| s.select(id_column).to_sql }.join(" UNION ")
  where "#{id_column} IN (#{sub_query})"
end