module SknUtils::Wrappable

Public Instance Methods

inherited_wrappers() click to toggle source
# File lib/skn_utils/wrappable.rb, line 18
def inherited_wrappers
  ancestors
      .grep(Wrappable)
      .reverse
      .flat_map(&:wrappers)
end
new(*arguments, &block) click to toggle source
# 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) click to toggle source
# File lib/skn_utils/wrappable.rb, line 10
def wrap(mod)
  wrappers << mod
end
wrappers() click to toggle source
# File lib/skn_utils/wrappable.rb, line 14
def wrappers
  @wrappers ||= []
end