diff --git a/lib/puppet_x/puppetlabs/strings/yard/handlers/host_class_handler.rb b/lib/puppet_x/puppetlabs/strings/yard/handlers/host_class_handler.rb index 982c664..0f7343b 100644 --- a/lib/puppet_x/puppetlabs/strings/yard/handlers/host_class_handler.rb +++ b/lib/puppet_x/puppetlabs/strings/yard/handlers/host_class_handler.rb @@ -16,7 +16,13 @@ class PuppetX::PuppetLabs::Strings::YARD::Handlers::HostClassHandler < PuppetX:: 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) + # This is a bit of a hack because we were using a method that was previously + # API private. See PDOC-75 for more details + if Puppet::Pops::Types::TypeParser.instance_method(:interpret_any).arity == 2 + param_type_info[pop_param.name] = tp.interpret_any(pop_param.type_expr, nil) + else + param_type_info[pop_param.name] = tp.interpret_any(pop_param.type_exp) + end 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}" diff --git a/spec/lib/strings_spec/parsing.rb b/spec/lib/strings_spec/parsing.rb index 232bbfa..9d1f2b3 100644 --- a/spec/lib/strings_spec/parsing.rb +++ b/spec/lib/strings_spec/parsing.rb @@ -20,7 +20,7 @@ module StringsSpec @mismatches.empty? end - failure_message_for_should do + failure_message do |actual| @mismatches.collect do |key, value| "Expected #{key} to be <#{value[1]}>, but got <#{value[0]}>." end.join("\n")