RubyGems Navigation menu

retroactive_module_inclusion 1.0.1

This gem circumvents the "dynamic module include" (aka "double inclusion") problem, which is the fact that M.module_eval { include N } does not make the methods of module N available to modules and classes which had included module M beforehand, only to the ones that include it thereafter. This behaviour hurts the least surprise principle, specially because if K is a class, then K.class_eval { include M } _does_ make all methods of M available to all classes which had previously inherited it. This inconsistency stems from implementation efficienty concerns and characterize a limitation in Ruby's object model (see {Dynamic Module Include Problem}[http://eigenclass.org/hiki/The+double+inclusion+problem]).

Gemfile:
=

installation:
=

Versions:

  1. 1.2.5 January 26, 2011 (11 ko)
  2. 1.2.4 January 24, 2011 (11 ko)
  3. 1.2.3 January 24, 2011 (11 ko)
  4. 1.2.2 January 24, 2011 (11 ko)
  5. 1.2.1 January 24, 2011 (11 ko)
  6. 1.0.1 January 20, 2011 (10 ko)
Voir toutes les versions (11)

Dépendances de Development (1):

hoe >= 2.8.0

Propriétaires:

Auteurs:

  • Adriano Mitre

Total de contrôle SHA 256:

=

Total de téléchargements 37 539

Pour cette version 3 307

Version publiée:

License:

aucune

Version de Ruby requise: None

Liens: