module Outil::Inferace
Public Class Methods
decorate()
click to toggle source
# File lib/outil.rb, line 63 def self.decorate RubyDecorators::Stack.all << self Workspace.sync end
registered_decorators()
click to toggle source
# File lib/outil.rb, line 104 def self.registered_decorators @registered_decorators ||= {} end
Public Instance Methods
decorators()
click to toggle source
# File lib/outil.rb, line 83 def decorators @decorators ||= {} end
name()
click to toggle source
# File lib/outil.rb, line 79 def name @name ||= self.class.name.to_s end
named(name)
click to toggle source
# File lib/outil.rb, line 68 def named(name) @name = name.to_s class_eval <<-RUBY_EVAL def self.#{@name}(dcr) if decorators[dcr] self.decorate(decorators[dcr]) end end RUBY_EVAL end
registered_methods()
click to toggle source
# File lib/outil.rb, line 100 def registered_methods @registered_methods ||= {} end
use(*decs)
click to toggle source
# File lib/outil.rb, line 87 def use *decs append = Proc.new do |dec| fmt = dec.name.split('::').last. gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). gsub(/([a-z\d])([A-Z])/,'\1_\2'). tr("-", "_"). downcase. to_sym self.decorators[fmt] = dec end decs.each &append end