# File lib/sortable_skima.rb, line 15 def self.attach_filters query, filters, srtbl unless filters.blank? filters.each_key do |filter_key| filter_val = filters[filter_key] if filter_val filter_obj = srtbl.filters()[filter_key.to_i] filter_val = filter_obj[:options][filter_val.to_i] unless ['Todos','todos','',"All", "all"].include?(filter_val) if filter_obj[:raw_sql] query = query.where(filter_val) else query = query.where(filter_obj[:column_name]=>filter_val) end end end end end query end
# File lib/sortable_skima.rb, line 36 def self.attach_orders query, orders, srtbl order_for_client = false orders_ar = (orders || '').split ',' orders_ar.each do |new_order| order_for_client = new_order unless order_for_client != false new_order = new_order.split ' ' order_by = (srtbl.columns_queries()[new_order[0].to_i][:sort_field] + " #{new_order[1]}") if new_order[0] if order_by query = query.order( order_by) end end return query, order_for_client end
# File lib/sortable_skima.rb, line 50 def self.attach_sortables query, sortable_id, cur_user_or_admin, include_order = false #, include_page = false srtbl = Sortable.find_by_id(sortable_id) return if srtbl.blank? backtrace = Backtrace.for_token(srtbl.token, cur_user_or_admin) filters = backtrace.get_filters orders = backtrace.get_order #page = backtrace.get_page orders = srtbl.options[:default_order] if orders.blank? query = SortableSkima::attach_filters query, filters, srtbl query = SortableSkima::attach_orders( query, orders, srtbl) if include_order query end
# File lib/sortable_skima.rb, line 11 def self.root File.expand_path '../..', __FILE__ end
Yield self on setup for nice config blocks
# File lib/sortable_skima.rb, line 7 def self.setup yield self end