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:
= Copy to clipboard Copied!

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:

c8f31fdf7cba7b24ce19680866777c0eb70e45a2be750d71c8c07ae71d4659dc

Total downloads 36,892

For this version 3,248

Licenses:

N/A

Required Ruby Version: None

Links: