Module: Quo::Utilities::Compose

Included in:
Query
Defined in:
lib/quo/utilities/compose.rb

Overview

Combine two query-like or composeable entities: These can be Quo::Query, Quo::MergedQuery, Quo::EagerQuery and ActiveRecord::Relations. See the ‘README.md` docs for more details.

Instance Method Summary collapse

Instance Method Details

#composable_with?(query) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/quo/utilities/compose.rb', line 13

def composable_with?(query)
  query.is_a?(Quo::Query) || query.is_a?(ActiveRecord::Relation)
end

#compose(query1, query2, joins: nil) ⇒ Object



9
10
11
# File 'lib/quo/utilities/compose.rb', line 9

def compose(query1, query2, joins: nil)
  Quo::QueryComposer.new(query1, query2, joins).compose
end