def process_sort_param_assoc(attr, metadata, sort_order, assoc_sorts, opts)
      attr_elems = attr.split('.')
      assoc_name = attr_elems[0].strip.to_sym
      assoc_metadata = metadata[assoc_name] || {}
      key = assoc_metadata[:key]
      return unless key.present? && ModelApi::Utils.eval_bool(assoc_metadata[:sort], opts)
      assoc_sort_params = (assoc_sorts[key] ||= {})
      assoc_sort_params[attr_elems[1..-1].join('.')] = sort_order
    end
def process_sort_param_assoc(attr, metadata, sort_order, assoc_sorts, opts)
      attr_elems = attr.split('.')
      assoc_name = attr_elems[0].strip.to_sym
      assoc_metadata = metadata[assoc_name] || {}
      key = assoc_metadata[:key]
      return unless key.present? && ModelApi::Utils.eval_bool(assoc_metadata[:sort], opts)
      assoc_sort_params = (assoc_sorts[key] ||= {})
      assoc_sort_params[attr_elems[1..-1].join('.')] = sort_order
    end
Intentionally disabling parameter list length check for private / internal method
 rubocop:disable Metrics/ParameterLists