class PuppetX::PuppetLabs::Strings::YARD::CodeObjects::TypeObject

Attributes

parameters[RW]

A list of parameters attached to this class. @return [Array<Array(String, String)>]

Public Instance Methods

to_json(*a) click to toggle source
# File lib/puppet_x/puppetlabs/strings/yard/code_objects/type_object.rb, line 6
def to_json(*a)
  {
    "name"             => @name,
    "file"             => file,
    "line"             => line,
    "docstring"        => Puppet::Util::Docs.scrub(@docstring),
    "parameters"       => @parameter_details.map do |obj|
      {
        "allowed_values" => obj[:allowed_values] ? obj[:allowed_values].flatten : [],
        "default"        => obj[:default],
        "docstring"      => Puppet::Util::Docs.scrub(obj[:desc] || ''),
        "namevar"        => obj[:namevar],
        "name"           => obj[:name],
      }
    end,
    "examples"              => self.tags.map do |tag|
        tag.text if tag.tag_name == 'example'
    end.compact,
    "properties"         => @property_details.map do |obj|
      {
        "allowed_values" => obj[:allowed_values] ? obj[:allowed_values].flatten : [],
        "default"        => obj[:default],
        "docstring"      => Puppet::Util::Docs.scrub(obj[:desc] || ''),
        "name"           => obj[:name],
      }
    end,
    "features"         => @features.map do |obj|
      {
        "docstring" => Puppet::Util::Docs.scrub(obj[:desc] || ''),
        "methods"   => obj[:methods],
        "name"      => obj[:name],
      }
    end,
  }.to_json(*a)
end