class PuppetX::PuppetLabs::Strings::Pops::YARDTransformer
Loosely based on the TreeDumper classes in Pops::Model. The responsibility of this class is to walk a Pops::Model and output objects that can be consumed by YARD handlers.
@note Currently, this class only extracts node, host class and type
definitions.
Public Class Methods
new()
click to toggle source
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 8 def initialize @transform_visitor = Puppet::Pops::Visitor.new(self, 'transform') end
Public Instance Methods
transform(o)
click to toggle source
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 12 def transform(o) @transform_visitor.visit(o) end
Private Instance Methods
transform_Factory(o)
click to toggle source
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 18 def transform_Factory(o) transform(o.current) end
transform_NamedDefinition(o)
click to toggle source
Extract comments from type definitions and class definitions. Wrap them into YARDStatement objects that provide an interface for YARD handlers.
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 28 def transform_NamedDefinition(o) obj = PuppetX::PuppetLabs::Strings::Pops::YARDStatement.new(o) obj.parameters = o.parameters.map do |p| param_tuple = [transform(p)] param_tuple << ( p.value.nil? ? nil : transform(p.value) ) end obj end
transform_NilClass(o)
click to toggle source
nil in… nil out!
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 44 def transform_NilClass(o) nil end
transform_Positioned(o)
click to toggle source
Catch-all visitor.
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 39 def transform_Positioned(o) PuppetX::PuppetLabs::Strings::Pops::YARDStatement.new(o) end
transform_Program(o)
click to toggle source
# File lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb, line 22 def transform_Program(o) o.definitions.map{|d| transform(d)} end