class RESTFramework::ModelFilter

A simple filtering backend that supports filtering a recordset based on fields defined on the controller class.

Public Instance Methods

_get_filter_params() click to toggle source

Filter params for keys allowed by the current action's filterset_fields/fields config.

# File lib/rest_framework/filters.rb, line 16
def _get_filter_params
  fields = @controller.send(:get_filterset_fields)
  return @controller.request.query_parameters.select { |p, _|
    fields.include?(p)
  }.to_h.symbolize_keys  # convert from HashWithIndifferentAccess to Hash w/keys
end
get_filtered_data(data) click to toggle source

Filter data according to the request query parameters.

# File lib/rest_framework/filters.rb, line 24
def get_filtered_data(data)
  filter_params = self._get_filter_params
  unless filter_params.blank?
    return data.where(**filter_params)
  end

  return data
end