Class: PackAPI::Querying::ComposableQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/pack_api/querying/composable_query.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(initial_query, composer: :merge) ⇒ ComposableQuery

Returns a new instance of ComposableQuery.



7
8
9
10
# File 'lib/pack_api/querying/composable_query.rb', line 7

def initialize(initial_query, composer: :merge)
  @query = initial_query
  @composer = composer
end

Instance Attribute Details

#composerObject (readonly)

Returns the value of attribute composer.



5
6
7
# File 'lib/pack_api/querying/composable_query.rb', line 5

def composer
  @composer
end

Instance Method Details

#add(query_clause) ⇒ Object



12
13
14
15
# File 'lib/pack_api/querying/composable_query.rb', line 12

def add(query_clause)
  @query = @query.send(composer, query_clause)
  self
end

#buildObject



17
18
19
# File 'lib/pack_api/querying/composable_query.rb', line 17

def build
  @query
end

#to_sqlObject



21
22
23
# File 'lib/pack_api/querying/composable_query.rb', line 21

def to_sql
  @query.to_sql
end