| Path: | lib/core_ex.rb |
| Last Update: | Wed Aug 15 15:06:12 +0200 2007 |
| Copyright: | Copyright (c) 2005 Nicolas Pouillard. All rights reserved. |
| Author: | Nicolas Pouillard <ertai@lrde.epita.fr>. |
| License: | Gnu General Public License. |
| Revision: | $Id: /w/fey/ruby_ex/trunk/core_ex/lib/core_ex.rb 55620 2007-03-07T13:45:42.313358Z ertai $ |
| CORE_EX_LOADED | = | true |
| CORE_EX_DIR | = | Pathname.new(__FILE__).dirname.expand_path.cleanpath |
| HAVE_YAML_TAGURI | = | true |
| HAVE_YAML_TAGURI | = | false |
# File lib/core_ex.rb, line 81 def core_ex_gem_require ( gem_name, gem_version=nil ) if gem_version gem gem_name, gem_version else gem gem_name end core_ex_debug { [:gem, gem_name, gem_version] } end
# File lib/core_ex.rb, line 71 def core_ex_register_vendor ( dir ) $CORE_EX_VENDORS << dir unless $CORE_EX_VENDORS.include? dir end
# File lib/core_ex.rb, line 96 def core_ex_require name, opts=nil core_ex_debug { [:core_ex_require, name, opts] } opts ||= {} begin core_ex_vendor_require(opts[:dir_name] || name, opts[:sub_dir] || 'lib') rescue LoadError => ex begin core_ex_gem_require(opts[:gem_name] || name, opts[:gem_version]) rescue LoadError end end core_ex_debug { [:require, name] } unless require name core_ex_debug { [:require, name, :has_returned_false] } end end
# File lib/core_ex.rb, line 51 def core_ex_vendor_require ( dir_name, sub_dir='lib' ) if $CORE_EX_VENDORS.any? { |dir| dir.exist? } dir = Pathname.glob("{#{$CORE_EX_VENDORS.join(',')}}/#{dir_name}/{#{sub_dir},}").first if dir and dir.directory? if defined? CoreEx::Pathname and Pathname.include? CoreEx::Pathname dir.load_path! else $LOAD_PATH << dir.to_s end core_ex_debug { [:vendor, dir_name, sub_dir] } else core_ex_debug { [:novendor, dir] } raise LoadError, "no vendor dir #{dir}" end else core_ex_debug { [:novendor, $CORE_EX_VENDORS] } raise LoadError, "no valid vendor dir among #{$CORE_EX_VENDORS.inspect}" end end