Base
Return list of column/property names
# File lib/orm_adapter/adapters/active_record.rb, line 6 def column_names klass.column_names end
# File lib/orm_adapter/adapters/active_record.rb, line 33 def create!(attributes = {}) klass.create!(attributes) end
# File lib/orm_adapter/adapters/active_record.rb, line 38 def destroy(object) object.destroy && true if valid_object?(object) end
@see OrmAdapter::Base#find_all
# File lib/orm_adapter/adapters/active_record.rb, line 27 def find_all(options = {}) conditions, order, limit, offset = extract_conditions!(options) klass.where(conditions_to_fields(conditions)).order(*order_clause(order)).limit(limit).offset(offset).all end
@see OrmAdapter::Base#find_first
# File lib/orm_adapter/adapters/active_record.rb, line 21 def find_first(options = {}) conditions, order = extract_conditions!(options) klass.where(conditions_to_fields(conditions)).order(*order_clause(order)).first end
@see OrmAdapter::Base#get
# File lib/orm_adapter/adapters/active_record.rb, line 16 def get(id) klass.where(klass.primary_key => wrap_key(id)).first end
Introspects the klass to convert and objects in conditions into foreign key and type fields
# File lib/orm_adapter/adapters/active_record.rb, line 45 def conditions_to_fields(conditions) fields = {} conditions.each do |key, value| if value.is_a?(::ActiveRecord::Base) && (assoc = klass.reflect_on_association(key.to_sym)) && assoc.belongs_to? if ::ActiveRecord::VERSION::STRING < "3.1" fields[assoc.primary_key_name] = value.send(value.class.primary_key) fields[assoc.options[:foreign_type]] = value.class.base_class.name.to_s if assoc.options[:polymorphic] else # >= 3.1 fields[assoc.foreign_key] = value.send(value.class.primary_key) fields[assoc.foreign_type] = value.class.base_class.name.to_s if assoc.options[:polymorphic] end else fields[key] = value end end fields end
Generated with the Darkfish Rdoc Generator 2.