module MonsterQueries::ActiveRecord::ClassMethods

Public Instance Methods

execute(query) click to toggle source
# File lib/monster_queries/active_record.rb, line 64
def execute query
  connection.execute query
end
select_array(query) click to toggle source
# File lib/monster_queries/active_record.rb, line 84
      def select_array query
        sql = <<-SQL
          SELECT COALESCE(array_to_json(array_agg(row_to_json(query_row))), '[]'::json)
          FROM (#{query}) query_row
        SQL
        select_value sql
      end
select_json(query, count) click to toggle source
# File lib/monster_queries/active_record.rb, line 76
def select_json query, count
  if count
    select_object query
  else
    select_array query
  end
end
select_object(query) click to toggle source
# File lib/monster_queries/active_record.rb, line 92
      def select_object query
        sql = <<-SQL
          SELECT COALESCE(row_to_json(query_row),'{}'::json)
          FROM (#{query}) query_row
        SQL
        select_value sql
      end
select_value(query) click to toggle source
# File lib/monster_queries/active_record.rb, line 68
def select_value query
  connection.select_value query
end
select_values(query) click to toggle source
# File lib/monster_queries/active_record.rb, line 72
def select_values query
  connection.select_values query
end