Module: NodeSpec::RuntimeGemLoader

Defined in:
lib/nodespec/runtime_gem_loader.rb

Constant Summary collapse

DEFAULT_ERROR_MSG =
'Consider installing the missing gem'

Class Method Summary collapse

Class Method Details

.require_or_fail(gem_name, error_message = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/nodespec/runtime_gem_loader.rb', line 4

def self.require_or_fail(gem_name, error_message = nil)
begin
  require gem_name
    yield if block_given?
rescue LoadError => e
  err = <<-EOS
Error: #{e.message}
#{error_message || DEFAULT_ERROR_MSG}

gem install '#{gem_name}'
EOS
  fail(err)
  end
end