module AdLint::Visitable

Public Instance Methods

accept(visitor) click to toggle source
# File lib/adlint/util.rb, line 418
def accept(visitor)
  visitor.__send__(visitor_method_name, self)
end

Private Instance Methods

visitor_method_name() click to toggle source
# File lib/adlint/util.rb, line 423
def visitor_method_name
  node_name = self.class.name.sub(/\A.*::/, "")
  node_name = node_name.gsub(/([A-Z][a-z])/, "_\\1")
  node_name = node_name.sub(/\A_/, "").tr("A-Z", "a-z")
  "visit_#{node_name}".to_sym
end