diff --git a/lib/puppet_x/puppetlabs/strings/yard/handlers/provider_handler.rb b/lib/puppet_x/puppetlabs/strings/yard/handlers/provider_handler.rb index ec118be..f4654a6 100644 --- a/lib/puppet_x/puppetlabs/strings/yard/handlers/provider_handler.rb +++ b/lib/puppet_x/puppetlabs/strings/yard/handlers/provider_handler.rb @@ -18,11 +18,11 @@ class PuppetX::PuppetLabs::Strings::YARD::Handlers::PuppetProviderHandler < YARD # You think this is ugly? It's better than the alternative. return unless statement.children.length > 2 first = statement.children.first.first - return unless (first.source == 'Puppet::Type') or - (first.type == :var_ref and - first.source == 'Type') and + return unless (first.source == 'Puppet::Type') || + (first.type == :var_ref && + first.source == 'Type') && statement[2].source == 'provide' - i = statement.index { |s| YARD::Parser::Ruby::AstNode === s and s.type == :ident and s.source == 'provide' } + i = statement.index { |s| YARD::Parser::Ruby::AstNode === s && s.type == :ident && s.source == 'provide' } provider_name = statement[i+1].jump(:ident).source type_name = statement.jump(:symbol).first.source @@ -35,19 +35,19 @@ class PuppetX::PuppetLabs::Strings::YARD::Handlers::PuppetProviderHandler < YARD defaults = {} do_block = statement.jump(:do_block) do_block.traverse do |node| - if is_a_func_call_named? 'desc', node + if is_a_func_call_named?('desc', node) content = node.jump(:tstring_content) # if we found the string content extract its source if content != node # The docstring is either the source stripped of heredoc # annotations or the raw source. - if @heredoc_helper.is_heredoc? content.source + if @heredoc_helper.is_heredoc?(content.source) docstring = @heredoc_helper.process_heredoc content.source else docstring = content.source end end - elsif is_a_func_call_named? 'confine', node + elsif is_a_func_call_named?('confine', node) node.traverse do |s| if s.type == :assoc k = s.first.jump(:ident).source @@ -55,20 +55,20 @@ class PuppetX::PuppetLabs::Strings::YARD::Handlers::PuppetProviderHandler < YARD confines[k] = v end end - elsif is_a_func_call_named? 'has_feature', node + elsif is_a_func_call_named?('has_feature', node) list = node.jump :list - if list != nil and list != node + if list != nil && list != node features += list.map { |s| s.source if YARD::Parser::Ruby::AstNode === s }.compact end - elsif is_a_func_call_named? 'commands', node + elsif is_a_func_call_named?('commands', node) assoc = node.jump(:assoc) - if assoc and assoc != node + if assoc && assoc != node ident = assoc.jump(:ident) - if ident and ident != assoc + if ident && ident != assoc commands << ident.source end end - elsif is_a_func_call_named? 'defaultfor', node + elsif is_a_func_call_named?('defaultfor', node) node.traverse do |s| if s.type == :assoc k = s.first.jump(:ident).source @@ -88,7 +88,7 @@ class PuppetX::PuppetLabs::Strings::YARD::Handlers::PuppetProviderHandler < YARD register obj end - def is_a_func_call_named? name, node - (node.type == :fcall or node.type == :command or node.type == :vcall) and node.children.first.source == name + def is_a_func_call_named?(name, node) + (node.type == :fcall || node.type == :command || node.type == :vcall) && node.children.first.source == name end end diff --git a/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/setup.rb b/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/setup.rb index 285ef9a..2788460 100644 --- a/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/setup.rb +++ b/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/setup.rb @@ -41,8 +41,6 @@ def generate_puppet_provider_list generate_list_contents end - - # A hacked version of class_list that can be instructed to only display certain # namespace types. This allows us to separate Puppet bits from Ruby bits. def namespace_list(opts = {}) 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 7469083..56ec2e0 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 @@ -87,13 +87,13 @@ class HTMLHelper result << "(Unknown)" end if param[:puppet_type] and param[:parameter] - result << " Parameter " + result << "(Parameter) " elsif param[:puppet_type] and param[:property] - result << " Property " + result << "(Property) " end if param[:namevar] - result << " Namevar " + result << "(Namevar) " end if param[:default] result << " Default value: " << param[:default] << " " @@ -112,8 +112,13 @@ class HTMLHelper if param[:desc] result << " -

#{param[:desc]}

" end + + if !param[:exists?] + result << "" + end + if param[:allowed_values] and param[:allowed_values] != [] - result << "

Allowed Values:

" + result << " Allowed Values: " result << "" end - - if !param[:exists?] - result << "" - end - result << "" end diff --git a/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/setup.rb b/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/setup.rb index ca8bd9d..f9736b5 100644 --- a/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/setup.rb +++ b/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/setup.rb @@ -25,12 +25,10 @@ def parameter_details @param_details = (object.parameter_details + object.property_details).each { |h| h[:desc] = htmlify(Puppet::Util::Docs::scrub(h[:desc])) if h[:desc] }.sort { |a, b| a[:name] <=> b[:name] } - if ensurable = @param_details.index { |h| h[:name] == 'ensure' } - @param_details = @param_details.unshift(@param_details.delete_at(ensurable)) - end - if namevar = @param_details.index { |h| h[:namevar] } - @param_details = @param_details.unshift(@param_details.delete_at(namevar)) - end + # Float ensurable and namevars to the top of the list + @param_details = @param_details.partition{|a| a[:name] == 'ensure'}.flatten + @param_details = @param_details.partition{|a| a[:namevar]}.flatten + @feature_details = object.features @template_helper.check_parameters_match_docs object