Sha256: 55ce3f7b3c6a39c18221fa694c374c946080ba2cb2e6446225162041954023af
Contents?: true
Size: 1.21 KB
Versions: 4
Compression:
Stored size: 1.21 KB
Contents
# frozen_string_literal: true require 'drillbit/authorizers/parameters' module Drillbit module Authorizers class Parameters class Filtering < Authorizers::Parameters def call params.permit(*authorized_params) end private def authorized_params @authorized_params ||= [ :sort, page: %i{ number size offset limit cursor }, filter: [ :query, {}, ], ] end def add_filterable_parameter(name) param = params.fetch(:filter, {}). fetch(name, nil) if param.class == Array authorized_params[1][:filter][1][name] = [] else authorized_params[1][:filter] << name end end def add_filterable_parameters(*names) names.each do |name| add_filterable_parameter(name) end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems