Module: Decors::DecoratorDefinition
- Defined in:
- lib/decors/decorator_definition.rb
Instance Method Summary collapse
- #define_decorator(decorator_name, decorator_class, mixin: false) ⇒ Object
- #define_mixin_decorator(decorator_name, decorator_class) ⇒ Object
Instance Method Details
#define_decorator(decorator_name, decorator_class, mixin: false) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/decors/decorator_definition.rb', line 9 def define_decorator(decorator_name, decorator_class, mixin: false) method_definer = mixin ? :define_method : :define_singleton_method send(method_definer, decorator_name) do |*args, **kwargs, &blk| extend(singleton_class? ? Decors::MethodAdded::SingletonListener : Decors::MethodAdded::StandardListener) declared_decorators << [decorator_class, args, kwargs, blk] end end |
#define_mixin_decorator(decorator_name, decorator_class) ⇒ Object
5 6 7 |
# File 'lib/decors/decorator_definition.rb', line 5 def define_mixin_decorator(decorator_name, decorator_class) define_decorator(decorator_name, decorator_class, mixin: true) end |