From 2d2c03bc3337bf5fa3e50ecf815dfbd47d6a7d92 Mon Sep 17 00:00:00 2001 From: Ian Kronquist Date: Mon, 27 Jul 2015 16:55:15 -0700 Subject: [PATCH 1/2] (PDOC-19) Parse type information for defined types I forgot to include the code which extracts the type information for the code object in the defined types handler. Without this we do not extract type information from defined types so warnings cannot be emitted and types in the documentation are listed as Unknown. --- .../yard/handlers/defined_type_handler.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/puppet_x/puppetlabs/strings/yard/handlers/defined_type_handler.rb b/lib/puppet_x/puppetlabs/strings/yard/handlers/defined_type_handler.rb index 6e0a51a..78bff28 100644 --- a/lib/puppet_x/puppetlabs/strings/yard/handlers/defined_type_handler.rb +++ b/lib/puppet_x/puppetlabs/strings/yard/handlers/defined_type_handler.rb @@ -8,6 +8,23 @@ class PuppetX::PuppetLabs::Strings::YARD::Handlers::DefinedTypeHandler < PuppetX param_tuple << ( a[1].nil? ? nil : a[1].source ) end end + tp = Puppet::Pops::Types::TypeParser.new + param_type_info = {} + statement.pops_obj.parameters.each do |pop_param| + # If the parameter's type expression is nil, default to Any + if pop_param.type_expr == nil + param_type_info[pop_param.name] = Puppet::Pops::Types::TypeFactory.any() + else + begin + param_type_info[pop_param.name] = tp.interpret_any(pop_param.type_expr) + rescue Puppet::ParseError => e + # If the type could not be interpreted insert a prominent warning + param_type_info[pop_param.name] = "Type Error: #{e.message}" + end + end + end + obj.type_info = [param_type_info] + register obj end From 9083023b334d57a1d0450ea43d578254348c1be2 Mon Sep 17 00:00:00 2001 From: Ian Kronquist Date: Mon, 27 Jul 2015 16:57:11 -0700 Subject: [PATCH 2/2] (maint) Fix typo in emitted html --- .../puppetlabs/strings/yard/templates/default/html_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet_x/puppetlabs/strings/yard/templates/default/html_helper.rb b/lib/puppet_x/puppetlabs/strings/yard/templates/default/html_helper.rb index 2185450..3ff0804 100644 --- a/lib/puppet_x/puppetlabs/strings/yard/templates/default/html_helper.rb +++ b/lib/puppet_x/puppetlabs/strings/yard/templates/default/html_helper.rb @@ -60,7 +60,7 @@ class HTMLHelper end # Give up. It can probably be anything. elsif !param[:puppet_3_func] - result << "(Unkown)" + result << "(Unknown)" end result << ""