Methods
Attributes
| [RW] | separator |
Class Public methods
new(*list)
Link
Source: show
# File tool/vpath.rb, line 5 def initialize(*list) @list = list @additional = [] @separator = nil end
Instance Public methods
def_options(opt)
Link
Source: show
# File tool/vpath.rb, line 54 def def_options(opt) opt.on("-I", "--srcdir=DIR", "add a directory to search path") {|dir| @additional << dir } opt.on("-L", "--vpath=PATH LIST", "add directories to search path") {|dirs| @additional << [dirs] } opt.on("--path-separator=SEP", /\A(?:\W\z|\.(\W).+)/, "separator for vpath") {|sep, vsep| # hack for msys make. @separator = vsep || sep } end
foreach(file, *args, &block)
Link
Source: show
# File tool/vpath.rb, line 50 def foreach(file, *args, &block) open(file) {|f| f.each(*args, &block)} end
list()
Link
Source: show
# File tool/vpath.rb, line 67 def list @additional.reject! do |dirs| case dirs when String @list << dirs when Array raise "--path-separator option is needed for vpath list" unless @separator # @separator ||= (require 'rbconfig'; RbConfig::CONFIG["PATH_SEPARATOR"]) @list.concat(dirs[0].split(@separator)) end true end @list end
open(*args)
Link
Source: show
# File tool/vpath.rb, line 33 def open(*args) f = search(File.method(:open), *args) if block_given? begin yield f ensure f.close unless f.closed? end else f end end
process(*args, &block)
Link
Source: show
# File tool/vpath.rb, line 26 def process(*args, &block) search(File.method(__callee__), *args, &block) end
read(*args)
Link
Source: show
# File tool/vpath.rb, line 46 def read(*args) open(*args) {|f| f.read} end