module Dekoden::Decoratable
Public Class Methods
extended(mojule)
click to toggle source
# File lib/dekoden.rb, line 81 def self.extended(mojule) mojule.singleton_class.prepend(SingletonPrependMethods) end
included(mojule)
click to toggle source
# File lib/dekoden.rb, line 85 def self.included(mojule) mojule.prepend(SingletonPrependMethods) end
Public Instance Methods
decorated_methods()
click to toggle source
# File lib/dekoden.rb, line 63 def decorated_methods unless const_defined?(:DecoratedMethods, false) mojule = Module.new self.prepend(mojule) self.const_set(:DecoratedMethods, mojule) end self.const_get(:DecoratedMethods) end
decorated_singleton_methods()
click to toggle source
# File lib/dekoden.rb, line 72 def decorated_singleton_methods unless const_defined?(:DecoratedSingletonMethods, false) mojule = Module.new self.singleton_class.prepend(mojule) self.const_set(:DecoratedSingletonMethods, mojule) end self.const_get(:DecoratedSingletonMethods) end
decorators(*mojules)
click to toggle source
# File lib/dekoden.rb, line 37 def decorators(*mojules) mojules.each do |mojule| mojule.constants.each do |constant| decorator_klass = mojule.const_get(constant) define_singleton_method(constant) do |*args, &blk| unbound_decorators << decorator_klass.new(*args, &blk) end end end end
singleton_decorators(*mojules)
click to toggle source
# File lib/dekoden.rb, line 48 def singleton_decorators(*mojules) mojules.each do |mojule| mojule.constants.each do |constant| decorator_klass = mojule.const_get(constant) define_method(constant) do |*args, &blk| unbound_decorators << decorator_klass.new(*args, &blk) end end end end
unbound_decorators()
click to toggle source
# File lib/dekoden.rb, line 59 def unbound_decorators @unbound_decorators ||= [] end