summaryrefslogtreecommitdiffstats
path: root/lib/puppet/faces/help.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/faces/help.rb')
-rw-r--r--lib/puppet/faces/help.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/puppet/faces/help.rb b/lib/puppet/faces/help.rb
index 29a4a62f7..1d8abe20e 100644
--- a/lib/puppet/faces/help.rb
+++ b/lib/puppet/faces/help.rb
@@ -35,8 +35,16 @@ Puppet::Faces.define(:help, '0.0.1') do
# Name those parameters...
facename, actionname = args
- face = facename ? Puppet::Faces[facename.to_sym, version] : nil
- action = (face and actionname) ? face.get_action(actionname.to_sym) : nil
+
+ if facename then
+ if legacy_applications.include? facename then
+ actionname and raise ArgumentError, "Legacy subcommands don't take actions"
+ return Puppet::Application[facename].help
+ else
+ face = Puppet::Faces[facename.to_sym, version]
+ actionname and action = face.get_action(actionname.to_sym)
+ end
+ end
case args.length
when 0 then