Module: SQLPluck

Defined in:
lib/sql_pluck.rb

Overview

Provides #pluck_by_sql method.

Usage:

class SomeModel < ActiveRecord::Base
  extend SQLPluck
end
SomeModel.pluck_by_sql(['select * from some_model where created_at > ?', time])

Instance Method Summary collapse

Instance Method Details

#pluck_by_sql(sql, binds = []) ⇒ Object

Executes sql as SQL SELECT statement and returns the result as an array of array of field values, like .pluck method.



16
17
18
19
20
# File 'lib/sql_pluck.rb', line 16

def pluck_by_sql(sql, binds = [])
  rs = connection.select_all(sanitize_sql(sql), "#{name} Load", binds)
  types = rs.column_types
  rs.map {|record| cast_record(record, types) }
end