class Querylet::Tree::Block

Public Instance Methods

_eval(context) click to toggle source
# File lib/querylet/tree.rb, line 139
      def _eval(context)
        content = items.map {|item| item._eval(context)}.join()
        if block == 'array'
        <<-HEREDOC.chomp
(SELECT COALESCE(array_to_json(array_agg(row_to_json(array_row))),'[]'::json) FROM (
#{content}
) array_row)
      HEREDOC
        elsif block == 'object'
        <<-HEREDOC.chomp
(SELECT COALESCE(row_to_json(object_row),'{}'::json) FROM (
#{content}
) object_row)
      HEREDOC
        else
          content
        end
      end