Class: Taketo::ConfigVisitor
- Inherits:
-
Object
- Object
- Taketo::ConfigVisitor
- Includes:
- Constructs
- Defined in:
- lib/taketo/config_visitor.rb
Direct Known Subclasses
ConfigPrinterVisitor, ConfigValidatorVisitor, SSHConfigGeneratorVisitor
Constant Summary
Constants included from Constructs
Taketo::Constructs::NullConstruct
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.visit(*klasses, &block) ⇒ Object
13 14 15 16 17 |
# 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 |
Instance Method Details
#visit(obj) ⇒ Object
19 20 21 22 23 24 25 26 |
# 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 |