From 7cb459eb60a27571fb68ad2919f071e13b38614d Mon Sep 17 00:00:00 2001
From: Xavier Noria <fxn@hashref.com>
Date: Sat, 6 Feb 2010 16:11:21 +0100
Subject: AS guide: documents Kernel#require_library_or_gem

---
 .../guides/source/active_support_core_extensions.textile   | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

(limited to 'railties/guides/source/active_support_core_extensions.textile')

diff --git a/railties/guides/source/active_support_core_extensions.textile b/railties/guides/source/active_support_core_extensions.textile
index 5d0bc01fee..7a6abf40b6 100644
--- a/railties/guides/source/active_support_core_extensions.textile
+++ b/railties/guides/source/active_support_core_extensions.textile
@@ -422,6 +422,20 @@ end
 
 NOTE: Defined in +active_support/core_ext/kernel/reporting.rb+.
 
+h4. +require_library_or_gem+
+
+The convenience method +require_library_or_gem+ tries to load its argument with a regular +require+ first. If it fails loads +rubygems+ and tries again.
+
+If the first attempt is a failure and +rubygems+ can't be loaded the method raises +LoadError+. On the other hand, if +rubygems+ is available but the argument is not loadable as a gem, the method gives up and +LoadError+ is also raised.
+
+For example, that's the way the MySQL adapter loads the MySQL library:
+
+<ruby>
+require_library_or_gem('mysql')
+</ruby>
+
+NOTE: Defined in +active_support/core_ext/kernel/requires.rb+.
+
 h3. Extensions to +Module+
 
 h4. Aliasing
-- 
cgit v1.2.3

