Module: SknUtils::Wrappable
- Defined in:
- lib/skn_utils/wrappable.rb
Instance Method Summary collapse
- #inherited_wrappers ⇒ Object
- #new(*arguments, &block) ⇒ Object
- #wrap(mod) ⇒ Object
- #wrappers ⇒ Object
Instance Method Details
#inherited_wrappers ⇒ Object
18 19 20 21 22 23 |
# File 'lib/skn_utils/wrappable.rb', line 18 def inherited_wrappers ancestors .grep(Wrappable) .reverse .flat_map(&:wrappers) end |
#new(*arguments, &block) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/skn_utils/wrappable.rb', line 25 def new(*arguments, &block) instance = allocate inherited_wrappers.each { |mod|instance.singleton_class.include(mod) } instance.send(:initialize, *arguments, &block) instance end |
#wrap(mod) ⇒ Object
10 11 12 |
# File 'lib/skn_utils/wrappable.rb', line 10 def wrap(mod) wrappers << mod end |
#wrappers ⇒ Object
14 15 16 |
# File 'lib/skn_utils/wrappable.rb', line 14 def wrappers @wrappers ||= [] end |