def process_filter_assoc_param(attr, metadata, assoc_values, value, opts)
      attr_elems = attr.split('.')
      assoc_name = attr_elems[0].strip.to_sym
      assoc_metadata = metadata[assoc_name] ||
          metadata[ModelApi::Utils.ext_query_attr(assoc_name, opts)] || {}
      key = assoc_metadata[:key]
      return unless key.present? && ModelApi::Utils.eval_bool(assoc_metadata[:filter], opts)
      assoc_filter_params = (assoc_values[key] ||= {})
      assoc_filter_params[attr_elems[1..-1].join('.')] = value
    end
def process_filter_assoc_param(attr, metadata, assoc_values, value, opts)
      attr_elems = attr.split('.')
      assoc_name = attr_elems[0].strip.to_sym
      assoc_metadata = metadata[assoc_name] ||
          metadata[ModelApi::Utils.ext_query_attr(assoc_name, opts)] || {}
      key = assoc_metadata[:key]
      return unless key.present? && ModelApi::Utils.eval_bool(assoc_metadata[:filter], opts)
      assoc_filter_params = (assoc_values[key] ||= {})
      assoc_filter_params[attr_elems[1..-1].join('.')] = value
    end
rubocop:disable Metrics/ParameterLists