class Orchestrated::Orchestrate
because this class is called “Orchestrate”, the method defined (on Object
) will be “orchestrate”
Public Class Methods
belongs_to(clazz)
click to toggle source
# File lib/orchestrated/base.rb, line 25 def belongs_to clazz # borrowed from Ick method_name = self.underscore(self.name.split('::')[-1]) unless clazz.method_defined?(method_name) clazz.class_eval " def #{method_name}(prerequisite=Complete.new) raise ArgumentError.new('orchestrate does not take a block') if block_given? raise ArgumentError.new(%[cannot use \#{prerequisite.class.name} as a prerequisite]) unless prerequisite.kind_of?(CompletionExpression) Proxy.new(prerequisite, self) end" end end
underscore(camel_cased_word)
click to toggle source
snarfed from Ruby On Rails
# File lib/orchestrated/base.rb, line 19 def underscore(camel_cased_word) camel_cased_word.to_s.gsub(/::/, '/'). gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). tr("-", "_"). downcase end