class SoqlBuilder::SelectQuery

Public Class Methods

structure_query(args = {}) click to toggle source
# File lib/soql_builder/select_query.rb, line 6
def structure_query(args = {})
  query  = 'select'.dup
  query += " #{join_fields(args[:fields])}" unless args[:fields].empty?
  query += join_subqueries(args[:subqueries]) unless args[:subqueries].empty?
  query += " from #{args[:object_table]}" unless args[:object_table] == ''
  query += " where #{args[:where]}" unless args[:where] == ''
  query += " limit #{args[:limit]}" unless args[:limit] == ''
  query
end

Private Class Methods

join_fields(fields) click to toggle source
# File lib/soql_builder/select_query.rb, line 18
def join_fields(fields)
  fields.join(', ')
end
join_subqueries(subqueries) click to toggle source
# File lib/soql_builder/select_query.rb, line 22
def join_subqueries(subqueries)
  subqueries.map do |subquery|
    ", (select #{join_fields(subquery[:fields])} from #{subquery[:object_table]})"
  end.join
end