diff options
| author | Matt Robinson <matt@puppetlabs.com> | 2011-05-26 14:54:11 -0700 |
|---|---|---|
| committer | Matt Robinson <matt@puppetlabs.com> | 2011-05-26 16:08:32 -0700 |
| commit | 2aa9f2fe390c15806cce5532afed2fc7ecf51b8b (patch) | |
| tree | d6cd2cac914673d528c9dc37ef89a313437d7494 /lib/puppet/application | |
| parent | 9447cb957b8c01ba7d368baebc1061c3dbfc9399 (diff) | |
| download | puppet-2aa9f2fe390c15806cce5532afed2fc7ecf51b8b.tar.gz puppet-2aa9f2fe390c15806cce5532afed2fc7ecf51b8b.tar.xz puppet-2aa9f2fe390c15806cce5532afed2fc7ecf51b8b.zip | |
(#7690) Don't blow up when listing terminuses available for faces
Previously, in order to list the available terminuses for an indirected
face we loaded all the the terminuses in order to list them. This meant
that if a terminus like active_record didn't have the dependencies it
needed, the documentation would raise errors and not list terminuses.
<Puppet::Error: Could not autoload filename uninitialized constant Object::ActiveRecord>
Now we just list the terminuses available in the load path without
trying to load them. The terminus will still raise an error if you try
to use it without its dependencies being met.
Paired-with: Max Martin <max@puppetlabs.com>
Diffstat (limited to 'lib/puppet/application')
| -rw-r--r-- | lib/puppet/application/faces.rb | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/lib/puppet/application/faces.rb b/lib/puppet/application/faces.rb index e7fce66b1..3145da821 100644 --- a/lib/puppet/application/faces.rb +++ b/lib/puppet/application/faces.rb @@ -66,7 +66,7 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License str = "#{name}:\n" if arguments.include?("terminuses") begin - terms = terminus_classes(name.to_sym) + terms = Puppet::Indirector::Face.terminus_classes(name.to_sym) str << "\tTerminuses: #{terms.join(", ")}\n" rescue => detail puts detail.backtrace if Puppet[:trace] @@ -107,10 +107,6 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License Puppet::Face.faces end - def terminus_classes(indirection) - Puppet::Indirector::Terminus.terminus_classes(indirection).collect { |t| t.to_s }.sort - end - def actions(indirection) return [] unless face = Puppet::Face[indirection, '0.0.1'] face.load_actions |
