Module: Kadmin::Concerns::Resources
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/kadmin/concerns/resources.rb
Constant Summary collapse
- DEFAULT_FINDER_PAGE_SIZE =
Default finder page size
100
Instance Method Summary collapse
-
#resources_finder(scope, filters = []) ⇒ Object
Does not return anything, but will modify your finder instance.
Instance Method Details
#resources_finder(scope, filters = []) ⇒ Object
Does not return anything, but will modify your finder instance.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/controllers/kadmin/concerns/resources.rb', line 14 def resources_finder(scope, filters = []) filters = Array.wrap(filters) filter_params = filters.map { |hash| hash[:param] } permitted = params.permit(:page_size, :page_offset, :format, *filter_params) page_size = permitted.fetch(:page_size, DEFAULT_FINDER_PAGE_SIZE).to_i page_offset = permitted.fetch(:page_offset, 0).to_i finder = Kadmin::Finder.new(scope) finder.paginate(size: page_size, offset: page_offset) filters.each do |filter| finder.filter(name: filter[:name], column: filter[:column], value: permitted[filter[:param]]) end return finder end |