Project

General

Profile

Actions

Feature #10047

closed

Proposal for failesafe requires

Added by shevegen (Robert A. Heiler) over 9 years ago. Updated over 9 years ago.

Status:
Feedback
Assignee:
-
Target version:
-
[ruby-core:63774]

Description

Hi guys,

I know this is unlikely to make it in, so it can be closed soon I suppose,
but a short discussion might be useful still?

I am doing something like this here quite often:

begin
require 'foo_bar'
rescue LoadError; end

One project I use has about 100 of these requires. These projects
are mostly tiny, often consisting of just one file, and it also
is often not important if these are available or not, hence why
there is a silent rescue, so that loading of the main project
can continue unhampered.

But I wondered why I couldn't just use a special call of
require instead.

We have require_relative, so why not something like this:

require_failsafe 'foo_bar'

?

You could even report a string to the user like:

require_failsafe 'foo_bar','please install foo_bar'

yet continue loading.

Updated by matz (Yukihiro Matsumoto) over 9 years ago

  • Status changed from Open to Feedback

If require failed, you don't have the features (classes and modules) from the library, so that your program would not work. So I think plain require_failsafe is useless.

Matz.

Actions

Also available in: Atom PDF

Like0
Like0