On 20/07/09 8:37, Luke Kanies wrote: > On Jul 18, 2009, at 4:13 AM, Brice Figureau wrote: > >> Puppetdoc wasn't correctly transforming AST::Boolean to string, >> producing a RDoc error which needs a string. >> >> Signed-off-by: Brice Figureau <[email protected]> >> --- >> lib/puppet/util/rdoc/parser.rb | 4 ++-- >> 1 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/ >> parser.rb >> index 7954865..479bb92 100644 >> --- a/lib/puppet/util/rdoc/parser.rb >> +++ b/lib/puppet/util/rdoc/parser.rb >> @@ -426,9 +426,9 @@ class Parser >> value = value.children if value.is_a? >> (Puppet::Parser::AST::ASTArray) >> if value.is_a?(Array) >> "['#{value.join(", ")}']" >> - elsif [:true, true, "true"].include?(value) >> + elsif [:true, true, "true"].include?(value.to_s) >> "true" >> - elsif [:false, false, "false"].include?(value) >> + elsif [:false, false, "false"].include?(value.to_s) >> "false" > > Can't we just do 'elsif value.to_s == "true"' and such?
Actually no, because the AST::Boolean#to_s gives the real true (ie the one from TrueClass). So if value = AST::Boolean.new(true), then value.to_s == true, then it won't == "true", which was the root cause of the issue. And we also want to cover the case when value is an AST::Name (or whatever) initialized with "true". I'm really reluctant to change AST::Boolean#to_s to actually return a string, as I'm almost sure there will be hiding side effects... If you have a better idea let me know (and don't even think about value.to_s.to_s :-)) -- Brice Figureau My Blog: http://www.masterzen.fr/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
