class Taketo::ConfigVisitor

Public Class Methods

visit(*klasses, &block) click to toggle source
# File lib/taketo/config_visitor.rb, line 13
def self.visit(*klasses, &block)
  klasses.each do |klass|
    define_method(:"visit_#{Taketo.downcased_construct_class_name(klass)}", block)
  end
end

Public Instance Methods

visit(obj) click to toggle source
# File lib/taketo/config_visitor.rb, line 19
def visit(obj)
  obj.class.ancestors.each do |ancestor|
    next unless ancestor.name # skip anonymous classes
    method_name = :"visit_#{Taketo.downcased_construct_class_name(ancestor)}"
    next unless respond_to?(method_name)
    return send(method_name, obj)
  end
end