Class: Hadouken::SqlBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/hadouken/sql_builder.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(*args) ⇒ Object



10
11
12
# File 'lib/hadouken/sql_builder.rb', line 10

def self.call(*args)
  new(*args).call
end

Instance Method Details

#callObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/hadouken/sql_builder.rb', line 14

def call
  return json_build_object_sql(schema) if scope.nil?

  @sql = ''
  @relation = build_relation
  apply_decorator if decorator&.valid?
  apply_where_conditions
  @sql << @relation.select(*columns_to_select).to_sql.gsub(sample_id.to_s, primary_key)

  "SELECT COALESCE(json_agg(a), '[]'::JSON ) FROM (#{@sql}) a"
end