Sha256: 20f54f463438fb33a6a47747f0c97e52a0b92004cc8e1c7de3ea778b3642232b

Contents?: true

Size: 1.38 KB

Versions: 4

Compression:

Stored size: 1.38 KB

Contents

== TEST TODO

Class inheritance

Module inclusion

Mix aspects in body and in module

Mix aspects from multiple modules

Mix aspects in body and inherited

Mix aspects in body, inherited and in module

== optimization idea

On create method, define method as a place holder which will generate the real method on first execution

== Inheritance / inclusion

Automatically group aspects by the class/module that creates them
Before aspects defined in base class run immediately before wrapped method
After aspects run immediagely after
Around aspects wrap around wrapped method

Before aspects defined in module that are included at the beginning run before aspects from base class and after those in current class
After aspects in module run after aspects from base class and before those in current class
Around aspects in module wrap around wrapped method + before/after aspects in base class

Before aspects defined in module that are included later run before all aspects already defined so far
After aspects in module run after all aspects
Around aspects in module wrap around wrapped method + before/after aspects

== Clean up

Reduce duplication in before/after/around.rb

Include Aspect4r::Base in target module/class when a module with advices is included.

Add included_with_a4r(for module) and inherited_with_a4r(for class) when Aspect4r::Base is included

Rename class AspectForMethod, Definition etc.

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
aspect4r-0.8.2 NOTES.rdoc
aspect4r-0.8.1 NOTES.rdoc
aspect4r-0.8.0 NOTES.rdoc
aspect4r-0.7.1 NOTES.rdoc