Skipper.SheetsApi behaviour (skipper_core v1.0.0)

Copy Markdown View Source

The four Google Sheets v4 calls Skipper needs. An API handle is {module, client}; Skipper.SheetsApi.HTTP is the real implementation and tests can pass an in-memory fake.

Summary

Types

api()

@type api() :: {module(), term()}

result(t)

@type result(t) :: {:ok, t} | {:error, String.t()}

Callbacks

append_values(term, t, t, rows)

@callback append_values(term(), String.t(), String.t(), rows :: [[String.t()]]) ::
  result(term())

batch_update(term, t, requests)

@callback batch_update(term(), String.t(), requests :: [map()]) :: result(term())

get_spreadsheet(client, spreadsheet_id)

@callback get_spreadsheet(client :: term(), spreadsheet_id :: String.t()) :: result(map())

get_values(client, spreadsheet_id, range)

@callback get_values(client :: term(), spreadsheet_id :: String.t(), range :: String.t()) ::
  result(map())

Functions

append_values(arg, id, range, rows)

batch_update(arg, id, requests)

get_spreadsheet(arg, id)

get_values(arg, id, range)