abstract struct Decorator::Base
- Decorator::Base
- Struct
- Value
- Object
Defined in:
decorator/base.crConstructors
Macro Summary
-
decorates(type_declaration)
The
decoratesmacro defines all of the Decorator core logic.
Constructor Detail
Macro Detail
macro decorates(type_declaration)
#
The decorates macro defines all of the Decorator core logic.
Currently, you can only supply one decorates statement per decorator
that inherits from Decorator::Base.
Given a decorator struct like this:
struct TimeDecorator < Decorator::Base
decorates time : Time
end
The following items are made available to the TimeDecorator struct:
- An
initialize(@time : Time)method - A
collection(objects : Array(Time))class method - A
getter(orgetter?forBooltypes) for@time
Implementation is heavily inspired by the [Lucky::Assignable] module: https://github.com/luckyframework/lucky/blob/master/src/lucky/assignable.cr