Sha256: f08ad026d7fb733f886b7c1d3b88946cf3084385551d0b9d42fc314d6fef58da
Contents?: true
Size: 1.36 KB
Versions: 5
Compression:
Stored size: 1.36 KB
Contents
module OpenVZ # Simple module to manage vendored code. # # To vendor a library simply download its whole git repo or untar # into vendor/libraryname and create a load_libraryname.rb file # to add its libdir into the $:. # # Once you have that file, add a require line in vendor/require_vendored.rb # which will run after all the load_* files. # # The intention is to not change vendored libraries and to eventually # make adding them in optional so that distros can simply adjust their # packaging to exclude this directory and the various load_xxx.rb scripts # if they wish to install these gems as native packages. class Vendor class << self def vendor_dir File.join([File.dirname(File.expand_path(__FILE__)), "vendor"]) end def load_entry(entry) Log.debug("Loading vendored #{$1}") load "#{vendor_dir}/#{entry}" end def require_libs require 'openvz/vendor/require_vendored' end def load_vendored Dir.entries(vendor_dir).each do |entry| if entry.match(/load_(\w+?)\.rb$/) load_entry entry end end require_libs end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
openvz-1.5.3 | lib/openvz/vendor.rb |
openvz-1.5 | lib/openvz/vendor.rb |
openvz-1.4 | lib/openvz/vendor.rb |
openvz-1.2 | lib/openvz/vendor.rb |
openvz-1.1 | lib/openvz/vendor.rb |