Module: DataTables::Responder
- Defined in:
- lib/data_tables/responder.rb,
lib/data_tables/responder/railtie.rb,
lib/data_tables/responder/version.rb
Defined Under Namespace
Classes: Railtie
Constant Summary collapse
- VERSION =
'0.4.1'
Class Method Summary collapse
- .flat_keys_to_nested(hash) ⇒ Object
- .order(filtered_scope, params) ⇒ Object
- .paginate(original_scope, filtered_scope, params) ⇒ Object
- .respond(original_scope, params) ⇒ Object
- .search(filtered_scope, params) ⇒ Object
Class Method Details
.flat_keys_to_nested(hash) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/data_tables/responder.rb', line 29 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(filtered_scope, params) ⇒ Object
45 46 47 |
# File 'lib/data_tables/responder.rb', line 45 def self.order(filtered_scope, params) Modules::Order.new(filtered_scope, params).order end |
.paginate(original_scope, filtered_scope, params) ⇒ Object
37 38 39 |
# File 'lib/data_tables/responder.rb', line 37 def self.paginate(original_scope, filtered_scope, params) Modules::Pagination.new(original_scope, filtered_scope, params).paginate end |
.respond(original_scope, params) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# 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(filtered_scope, params) filtered_scope = search(filtered_scope, params) # Rails.logger.warn "SEARCH BY: #{search_by}" filtered_scope = paginate(original_scope, filtered_scope, params) end |
.search(filtered_scope, params) ⇒ Object
41 42 43 |
# File 'lib/data_tables/responder.rb', line 41 def self.search(filtered_scope, params) Modules::Search.new(filtered_scope, params).search end |