class Volt::DataStore::BaseAdaptorClient

Public Class Methods

data_store_methods(*method_names) click to toggle source

A class method that takes an array of method names we want to provide on the ArrayModel class. (These are typically query/sort/order/etc… methods). This adds a proxy method to the store persistor for all passed in method names, and then sets up a default tracking method on the ArrayStore persistor.

# File lib/volt/data_stores/base_adaptor_client.rb, line 23
def self.data_store_methods(*method_names)
  Volt::ArrayModel.proxy_to_persistor(*method_names)

  method_names.each do |method_name|
    Volt::Persistors::ArrayStore.send(:define_method, method_name) do |*args|
      add_query_part(method_name, *args)
    end
  end
end
normalize_query(query) click to toggle source

normalize_query should take all parts of the query and return a “normalized” version, so that two queries that are eseitnally the same except for things like order are the same.

Typically this means sorting parts of the query so that two queries which do the same things are the same, so they can be uniquely identified.

The default implementation does no normalizing. This works, but results in more queries being sent to the backend.

# File lib/volt/data_stores/base_adaptor_client.rb, line 14
def self.normalize_query(query)
  query
end