module Polymorph::Orderable::ClassMethods
Public Instance Methods
ensure_resource(id_or_resource)
click to toggle source
# File lib/polymorph/orderable.rb, line 16 def ensure_resource(id_or_resource) return id_or_resource if id_or_resource.is_a? self find(id_or_resource) end
reorder(*new_order)
click to toggle source
# File lib/polymorph/orderable.rb, line 15 def reorder(*new_order) def ensure_resource(id_or_resource) return id_or_resource if id_or_resource.is_a? self find(id_or_resource) end new_order.flatten.compact.map.each_with_index do |id_or_resource, index| resource = ensure_resource(id_or_resource) position = index * 10 + 10 resource.update_attribute(:position, position) [resource, position] end end