Files

Rcodetools::OptionHandler

Domain specific OptionParser extensions

Public Class Methods

auto_include_paths(include_paths, pwd) click to toggle source
    # File lib/rcodetools/options.rb, line 86
86:   def auto_include_paths(include_paths, pwd)
87:     if pwd =~ %^(.+)/(lib|bin)!
88:       include_paths.unshift("#$1/lib").unshift("#$1/bin")
89:     elsif File.file? "#{pwd}/Rakefile" or File.file? "#{pwd}/rakefile"
90:       include_paths.unshift("#{pwd}/lib").unshift("#{pwd}/bin")
91:     end
92:   end

Public Instance Methods

handle_interpreter(options) click to toggle source
    # File lib/rcodetools/options.rb, line 30
30:   def handle_interpreter(options)
31:     separator ""
32:     separator "Interpreter options:"
33:     on("-S FILE", "--interpreter FILE", "Use interpreter FILE.") do |interpreter|
34:       options[:interpreter] = interpreter
35:     end
36:     on("-I PATH", "Add PATH to $LOAD_PATH") do |path|
37:       options[:include_paths] << path
38:     end
39:     on("--dev", "Add this project's bin/ and lib/ to $LOAD_PATH.",
40:        "A directory with a Rakefile is considered a project base directory.") do
41:       auto_include_paths(options[:include_paths], Dir.pwd)
42:     end
43:     on("-r LIB", "Require LIB before execution.") do |lib|
44:       options[:libs] << lib
45:     end
46:     on("-e EXPR", "--eval=EXPR", "--stub=EXPR", "Evaluate EXPR after execution.") do |expr|
47:       options[:evals] << expr
48:     end
49:     on("--fork", "Use rct-fork-client if rct-fork is running.") do 
50:       options[:detect_rct_fork] = true
51:     end
52:     on("--rbtest", "Use rbtest.") do
53:       options[:use_rbtest] = true
54:     end
55:     on("--detect-rbtest", "Use rbtest if '=begin test_*' blocks exist.") do
56:       options[:detect_rbtest] = true
57:     end
58:   end
handle_misc(options) click to toggle source
    # File lib/rcodetools/options.rb, line 60
60:   def handle_misc(options)
61:     separator ""
62:     separator "Misc options:"
63:     on("--cd DIR", "Change working directory to DIR.") do |dir|
64:       options[:wd] = dir
65:     end
66:     on("--debug", "Write transformed source code to xmp-tmp.PID.rb.") do
67:       options[:dump] = "xmp-tmp.#{Process.pid}.rb"
68:     end
69:     on("--tmpfile", "--tempfile", "Use tmpfile instead of open3. (non-windows)") do
70:       options[:execute_ruby_tmpfile] = true
71:     end
72:     on("-w N", "--width N", Integer, "Set width of multi-line annotation. (xmpfilter only)") do |width|
73:       options[:width] = width
74:     end
75:     separator ""
76:     on("-h", "--help", "Show this message") do
77:       puts self
78:       exit
79:     end
80:     on("-v", "--version", "Show version information") do
81:       puts "#{File.basename($0)} #{XMPFilter::VERSION}"
82:       exit
83:     end
84:   end
handle_position(options) click to toggle source
    # File lib/rcodetools/options.rb, line 10
10:   def handle_position(options)
11:     separator ""
12:     separator "Position options:"
13:     on("--line=LINE", "Current line number.") do |n|
14:       options[:lineno] = n.to_i
15:     end
16:     on("--column=COLUMN", "Current column number in BYTE.") do |n|
17:       options[:column] = n.to_i
18:     end
19:     on("-t TEST", "--test=TEST",
20:        "Execute test script. ",
21:        "TEST is TESTSCRIPT, TESTSCRIPT@TESTMETHOD, or TESTSCRIPT@LINENO.",
22:        "You must specify --filename option.") do |t|
23:       options[:test_script], options[:test_method] = t.split(/@/)
24:     end
25:     on("--filename=FILENAME", "Filename of standard input.") do |f|
26:       options[:filename] = f
27:     end
28:   end
set_banner() click to toggle source
   # File lib/rcodetools/options.rb, line 6
6:   def set_banner
7:     self.banner = "Usage: #{$0} [options] [inputfile] [-- cmdline args]"
8:   end

Private Instance Methods

auto_include_paths(include_paths, pwd) click to toggle source
    # File lib/rcodetools/options.rb, line 86
86:   def auto_include_paths(include_paths, pwd)
87:     if pwd =~ %^(.+)/(lib|bin)!
88:       include_paths.unshift("#$1/lib").unshift("#$1/bin")
89:     elsif File.file? "#{pwd}/Rakefile" or File.file? "#{pwd}/rakefile"
90:       include_paths.unshift("#{pwd}/lib").unshift("#{pwd}/bin")
91:     end
92:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.