Home Accessibility Courses Diary The Mouth Facebook Resources Site Map About Us Contact
Loading Ruby classes - where does Ruby look?

If you're loading a Ruby class (or other code) from another source file, use the require function, and give the file name without the .rb on the end of it. Ruby will look in each of the directories listed in $: or $LOAD_PATH in turn, and that list usually includes . (the current directory). See that in irb:

  >> puts $:
  /Library/Ruby/Site/1.8
  /Library/Ruby/Site/1.8/powerpc-darwin11.0
  /Library/Ruby/Site/1.8/universal-darwin11.0
  /Library/Ruby/Site
  /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8
  /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0
  /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr  /lib/ruby/vendor_ruby
  /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
  /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin11.0
  /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0
  .
  => nil
>>


But, occasionally, you may find a system where . is not included; there are security concerns relating to injection attacks in unfriendly environments which cause this to be a concern. And the effect is an error like this, even if the porridge.rb file is present in your current directory:

  >> require "porridge"
  LoadError: no such file to load -- porridge


This came up yesterday on a delegate's system, running the Backtrack version of Ubuntu.

Solution? Set the RUBYLIB environment variable, which is an extra colon-separated list of places that require is to look. You should export the variable from your shell, so:
  export RUBYLIB=$RUBYLIB:.
(the echoing back of the old value allowing for other modifications of RUBYLIB which you will not want to overwrite).




(written 2012-02-24)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R118 - Ruby Sources and Resources
  [3783] Load path, load and require in Ruby, and a change from 1.8 to 1.9 - (2012-06-24)
  [3435] Sorta sorting a hash, and what if an exception is NOT thrown - Ruby - (2011-09-12)
  [3426] Automed web site testing scripted in Ruby using watir-webdriver - (2011-09-09)
  [2931] Syncronise - software, trains, and buses. Please! - (2010-08-22)
  [2621] Ruby collections and strings - some new examples - (2010-02-03)
  [2610] Cheat Sheet - what do you need for Ruby on Rails? - (2010-01-31)
  [550] 2006 - Making business a pleasure - (2006-01-01)

R119 - Ruby Miscellany
  [3799] Ruby Documentation through rdoc - (2012-07-07)
  [3428] How many days to Christmas? - (2011-09-09)
  [3155] Rake - a build system using code written in Ruby - (2011-02-03)
  [1890] MySQL database from Ruby - an example - (2008-11-16)
  [1889] Ruby mixins, modules, require and include - (2008-11-16)
  [1720] Some Ruby lesser used functions - (2008-07-26)
  [1586] Variable types in Ruby - (2008-03-21)
  [1181] Good Programming practise - where to initialise variables - (2007-05-09)


Back to
Matching regular expressions, and substitutions, in Ruby
Previous and next
or
Horse's mouth home
Forward to
Some TestWise examples - helping use Ruby code to check your web site operation
Some other Articles
There is so much to see travelling by train
An update on Billy the Greyhound and Gypsy the Lurcher
Why do we need a Model, View, Controller architecture?
Some TestWise examples - helping use Ruby code to check your web site operation
Loading Ruby classes - where does Ruby look?
Matching regular expressions, and substitutions, in Ruby
Finding the total, average, minimum and maximum in a program
Ruby v Perl - a comparison example
lists and struct::list in Tcl - Introduction to struct::list and examples
The fileutil package and a list of file system commands in Tcl
4252 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3622_Loa ... look-.html • PAGE BUILT: Sun Mar 30 15:20:58 2014 • BUILD SYSTEM: WomanWithCat