# QI ActsAsCaching V0.6 module ActsAsSorting::Hook def acts_as_sorting(*args) @acts_as_sorting_options = args.extract_options! define_method("label_for") do |key, lang=:fr| self.class.qi_table_order[key.to_sym][:name] end def self.qi_table_order @acts_as_sorting_options[:fields] end def self.valid_sort r = [] self.qi_table_order.each do |key, value| if value.instance_of? Hash if value[:reorder] == false elsif value[:reorder] == true if value[:sort_name] r << value[:sort_name] else r << key.to_s end end end end return r end end end