Sha256: 5ae4b64a405365fdfb5390ecfe3a5638066183ab4318109b2f16739d7f86b179
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
module Trestle module Adapters module ActiveRecordAdapter def collection(params={}) admin.model.all end def find_instance(params) admin.model.find(params[:id]) end def build_instance(params={}) admin.model.new(params) end def update_instance(instance, params) instance.assign_attributes(params) end def save_instance(instance) instance.save end def delete_instance(instance) instance.destroy end def to_param(instance) instance end def unscope(scope) scope.unscoped end def merge_scopes(scope, other) scope.merge(other) end def sort(collection, params) if params[:sort] collection.reorder(params[:sort] => params[:order] || "asc") else collection end end def paginate(collection, params) collection = Kaminari.paginate_array(collection) unless collection.respond_to?(:page) collection.page(params[:page]) end def count(collection) collection.count end def default_attributes admin.model.columns.map do |column| if column.name.end_with?("_id") && (reflection = admin.model.reflections[column.name.sub(/_id$/, '')]) Attribute::Association.new(admin, column.name, reflection.klass) else Attribute.new(admin, column.name, column.type) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
trestle-0.8.2 | lib/trestle/adapters/active_record_adapter.rb |
trestle-0.8.0 | lib/trestle/adapters/active_record_adapter.rb |