Qui Ruby memoize modèle ne ActiveSupport::Memoizable référence?

Donc dans les Rails 3.2, ActiveSupport::Memoizable a été désapprouvée.

Le message se lit comme suit:

DEPRECATION WARNING: ActiveSupport::Memoizable is deprecated and
will be removed in future releases,simply use Ruby memoization
pattern instead.

Il se réfère à "Ruby memoization modèle" (au singulier) comme si il y a un modèle que nous devrions tous connaître et de se référer à...

Je suppose qu'ils veulent dire quelque chose comme:

def my_method
  @my_method ||= # ... go get the value
end

ou

def my_method
  return @my_method if defined?(@my_method)

  @my_method = # ... go get the value
end

Est-il autre chose que j'ai manqué?

  • Si vous voulez "faux" ou "néant", il ne serait pas être enregistrés à l'aide de Ruby memoizable. Donc, si vous voulez mettre en place votre propre memoizable wrapper, ajouter un moyen de sauver les "faux" et "nil'.
InformationsquelleAutor bodacious | 2012-02-03