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:
=

install:
=

Versions:

  1. 1.2.5 January 26, 2011 (11 KB)
  2. 1.2.4 January 24, 2011 (11 KB)
  3. 1.2.3 January 24, 2011 (11 KB)
  4. 1.2.2 January 24, 2011 (11 KB)
  5. 1.2.1 January 24, 2011 (11 KB)
  6. 1.0.1 January 20, 2011 (10 KB)
Show all versions (11 total)

Development Dependencies (1):

hoe >= 2.8.0

Owners:

Authors:

  • Adriano Mitre

SHA 256 checksum:

=

Total downloads 37,539

For this version 3,307

Version Released:

Licenses:

N/A

Required Ruby Version: None

Links: