class Predefined::ActiveRecordQuery
Public Instance Methods
connection()
click to toggle source
# File lib/predefined/active_record.rb, line 9 def connection Database.connection end
result_to_rows(result)
click to toggle source
TODO: Is there a way to do this built-in to ActiveRecord?
# File lib/predefined/active_record.rb, line 51 def result_to_rows(result) result.rows.map do |row| typed_row = result.columns.zip(row).map do |column_name, value| typed_value = result.column_types[column_name].send(:type_cast, value) [column_name.to_sym, typed_value] end Hash[typed_row] end end
select_all(params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 17 def select_all(params=nil) result_to_rows(connection.select_all(to_sql(params), name)) end
select_object(klass, params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 37 def select_object(klass, params=nil) record = connection.select_one(to_sql(params), name) if record klass.new(record) end end
select_objects(klass, params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 44 def select_objects(klass, params=nil) connection.select_all(to_sql(params), name).map do |row| klass.new(row) end end
select_one(params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 21 def select_one(params=nil) select_all(params).first end
select_rows(params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 25 def select_rows(params=nil) connection.select_rows(to_sql(params), name) end
select_value(params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 33 def select_value(params=nil) connection.select_value(to_sql(params), name) end
select_values(params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 29 def select_values(params=nil) connection.select_values(to_sql(params), name) end
to_sql(params=nil)
click to toggle source
# File lib/predefined/active_record.rb, line 13 def to_sql(params=nil) Database.send(:sanitize_sql, [template, params]) end