Contexte

Les méthodes appelées par Query64 peuvent prendre un paramètre de contexte provenant du client.
Cet argument permet de définir une logique supplémentaire quant au données générées. Dans l’exemple suivant, le contexte est défini arbitrairement côté client et injecté dans la méthode.

# context = {
#   name: String
# }
def self.query64_column_builder(context)
  if context[:name] == 'Custom'
    return [
      {
        columns_to_include: ['id', 'prenom', 'nom'],
        statement: -> { User.current != nil }
      }
    ]
  else
    return [
      {
        columns_to_include: ['id', 'age', 'adresse'],
        statement: -> { User.current != nil }
      }
    ]
  end
end

Ne pas se baser sur le contexte pour définir des politiques de sécurité, car celui-ci provient entièrement du client.

Méthode acceptant un contexte :

  • query64_column_builder
  • query64_column_dictionary
  • query64_additional_row_filters