diff --git a/lib/foreman/cli.rb b/lib/foreman/cli.rb index d94205b..81aa59a 100644 --- a/lib/foreman/cli.rb +++ b/lib/foreman/cli.rb @@ -47,10 +47,13 @@ class Foreman::CLI < Thor check_procfile! begin + require "foreman/export/#{ format.tr('-', '_') }" classy_format = classify(format) formatter = constantize("Foreman::Export::#{ classy_format }") rescue NameError => ex error "Unknown export format: #{format} (no class Foreman::Export::#{ classy_format })." + rescue LoadError => ex + error "Unknown export format: #{format} (unable to load file 'foreman/export/#{ format.tr('-', '_') }')." end formatter.new(engine, options).export(location) diff --git a/spec/foreman/cli_spec.rb b/spec/foreman/cli_spec.rb index ebe783c..2800437 100644 --- a/spec/foreman/cli_spec.rb +++ b/spec/foreman/cli_spec.rb @@ -51,7 +51,7 @@ describe "Foreman::CLI", :fakefs do describe "with an invalid formatter" do it "prints an error" do - mock_error(subject, "Unknown export format: invalidformatter.") do + mock_error(subject, "Unknown export format: invalidformatter (unable to load file 'foreman/export/invalidformatter').") do subject.export("invalidformatter") end end