module DataTables::Responder

Constants

VERSION

Public Class Methods

flat_keys_to_nested(hash) click to toggle source
# File lib/data_tables/responder.rb, line 28
def self.flat_keys_to_nested(hash)
  hash.each_with_object({}) do |(key, value), all|
    key_parts = key.split('.').map!(&:to_sym)
    leaf = key_parts[0...-1].inject(all) { |h, k| h[k] ||= {} }
    leaf[key_parts.last] = value
  end
end
order(model, filtered_scope, params) click to toggle source
# File lib/data_tables/responder.rb, line 44
def self.order(model, filtered_scope, params)
  Modules::Order.new(model, filtered_scope, params).order
end
paginate(model, filtered_scope, params) click to toggle source
# File lib/data_tables/responder.rb, line 36
def self.paginate(model, filtered_scope, params)
  Modules::Pagination.new(model, filtered_scope, params).paginate
end
respond(original_scope, params) click to toggle source
# File lib/data_tables/responder.rb, line 16
def self.respond(original_scope, params)
  model = original_scope.try(:model) || original_scope

  filtered_scope = original_scope&.dup || model.none

  filtered_scope = order(model, filtered_scope, params)

  filtered_scope = search(model, filtered_scope, params)

  filtered_scope = paginate(model, filtered_scope, params)
end