Skip to content

Commit 0b300eb

Browse files
authored
Merge pull request #55 from glennsarti/fix-puppet-resource
(GH-54) Fix Puppet Resource Command
2 parents df0dcab + 196823b commit 0b300eb

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

server/lib/puppet-languageserver/message_router.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ def receive_request(request)
5454
request.reply_result(LanguageServer::PuppetCompilation.create('data' => '')) if resources.nil? || resources.length.zero?
5555

5656
# TODO: Should probably move this to a helper?
57-
content = ''
58-
resources.each { |res| content += res.to_manifest + "\n" }
57+
content = resources.map { |res| res.to_manifest }.join("\n\n") + "\n"
5958
request.reply_result(LanguageServer::PuppetCompilation.create('data' => content))
6059

6160
when 'puppet/compileNodeGraph'

server/lib/puppet-languageserver/puppet_helper.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@ def self.reset
1717

1818
# Resource Face
1919
def self.resource_face_get_by_typename(typename)
20-
Puppet::Face[:resource, '0.0.1'].search(typename)
20+
resources = Puppet::Face[:resource, '0.0.1'].search(typename)
21+
prune_resource_parameters(resources)
2122
end
2223

2324
def self.resource_face_get_by_typename_and_title(typename, title)
24-
Puppet::Face[:resource, '0.0.1'].find("#{typename}/#{title}")
25+
resources = Puppet::Face[:resource, '0.0.1'].find("#{typename}/#{title}")
26+
prune_resource_parameters(resources)
2527
end
2628

2729
# Types
@@ -103,6 +105,18 @@ def self._reset
103105
end
104106
private_class_method :_reset
105107

108+
def self.prune_resource_parameters(resources)
109+
# From https://github.com/puppetlabs/puppet/blob/488661d84e54904124514ab9e4500e81b10f84d1/lib/puppet/application/resource.rb#L146-L148
110+
if resources.is_a?(Array)
111+
resources.map do |resource|
112+
resource.prune_parameters
113+
end
114+
else
115+
resources.prune_parameters
116+
end
117+
end
118+
private_class_method :prune_resource_parameters
119+
106120
def self._load_types
107121
@types_hash = {}
108122
Puppet::Type.loadall

0 commit comments

Comments
 (0)