(PDOC-159) server urls fix
When using `puppet strings server`, resources with names containing '::' end up 404ing from the left bar. This is because strings namespaces these objects but YARD does not when building URLs. e.g. foo::bar's url should be /doc/foo/puppet_classes/foo/bar.html but ends up instead being doc/foo/puppet_classes/foo_3A_3A_bar.html because of YARD's url encoding. This is a monkey patch, courtesy @domcleal, that decodes the urls back so that they are namespaced correctly.
This commit is contained in:
		
							parent
							
								
									db7ac68870
								
							
						
					
					
						commit
						e63f1c3142
					
				|  | @ -0,0 +1,11 @@ | |||
| # Monkey patch URL decoding in object displays. Usually :: is interpreted as a | ||||
| # namespace, but this is disabled in our base object, and so instead gets | ||||
| # URL-encoded. | ||||
| require 'yard/server/commands/display_object_command' | ||||
| class YARD::Server::Commands::DisplayObjectCommand | ||||
|   private | ||||
|   alias_method :object_path_yard, :object_path | ||||
|   def object_path | ||||
|     object_path_yard.gsub('_3A', ':') | ||||
|   end | ||||
| end | ||||
|  | @ -6,6 +6,7 @@ module PuppetStrings::Yard | |||
|   require 'puppet-strings/yard/handlers' | ||||
|   require 'puppet-strings/yard/tags' | ||||
|   require 'puppet-strings/yard/parsers' | ||||
|   require 'puppet-strings/monkey_patches/display_object_command' | ||||
| 
 | ||||
|   # Sets up YARD for use with puppet-strings. | ||||
|   # @return [void] | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Eric Putnam
						Eric Putnam