Module: TocDoc::UriUtils

Included in:
Availability, Client
Defined in:
lib/toc_doc/core/uri_utils.rb

Overview

URL building helpers for Doctolib API parameters.

Doctolib expects certain ID list parameters to be dash-joined strings rather than standard repeated/bracket array notation. Include this module and call +dashed_ids+ explicitly for each such param:

class TocDoc::Availability extend TocDoc::UriUtils

def self.where(visit_motive_ids:, agenda_ids:, **opts)
  client.get('/availabilities.json', query: {
    visit_motive_ids: dashed_ids(visit_motive_ids),
    agenda_ids:       dashed_ids(agenda_ids),
    **opts
  })
end

end

Instance Method Summary collapse

Instance Method Details

#dashed_ids(ids) ⇒ String

Joins one or many IDs into the dash-separated format expected by Doctolib.

Parameters:

  • ids (Integer, String, Array)

    one or more IDs

Returns:

  • (String)

    e.g. "1234-5678-9012"



26
27
28
# File 'lib/toc_doc/core/uri_utils.rb', line 26

def dashed_ids(ids)
  Array(ids).flatten.compact.map(&:to_s).reject(&:empty?).join('-')
end