diff options
Diffstat (limited to 'ruby_1_8_5/bin')
-rwxr-xr-x | ruby_1_8_5/bin/erb | 141 | ||||
-rw-r--r-- | ruby_1_8_5/bin/irb | 21 | ||||
-rw-r--r-- | ruby_1_8_5/bin/rdoc | 67 | ||||
-rwxr-xr-x | ruby_1_8_5/bin/ri | 49 | ||||
-rwxr-xr-x | ruby_1_8_5/bin/testrb | 5 |
5 files changed, 283 insertions, 0 deletions
diff --git a/ruby_1_8_5/bin/erb b/ruby_1_8_5/bin/erb new file mode 100755 index 0000000000..a6fcd5370c --- /dev/null +++ b/ruby_1_8_5/bin/erb @@ -0,0 +1,141 @@ +#!/usr/bin/env ruby +# Tiny eRuby --- ERB2 +# Copyright (c) 1999-2000,2002 Masatoshi SEKI +# You can redistribute it and/or modify it under the same terms as Ruby. + +require 'erb' + +class ERB + module Main + def ARGV.switch + return nil if self.empty? + arg = self.shift + return nil if arg == '--' + if arg =~ /^-(.)(.*)/ + return arg if $1 == '-' + raise 'unknown switch "-"' if $2.index('-') + self.unshift "-#{$2}" if $2.size > 0 + "-#{$1}" + else + self.unshift arg + nil + end + end + + def ARGV.req_arg + self.shift || raise('missing argument') + end + + def trim_mode_opt(trim_mode, disable_percent) + return trim_mode if disable_percent + case trim_mode + when 0 + return '%' + when 1 + return '%>' + when 2 + return '%<>' + when '-' + return '%-' + end + end + module_function :trim_mode_opt + + def run(factory=ERB) + trim_mode = 0 + disable_percent = false + begin + while switch = ARGV.switch + case switch + when '-x' # ruby source + output = true + when '-n' # line number + number = true + when '-v' # verbose + $VERBOSE = true + when '--version' # version + STDERR.puts factory.version + exit + when '-d', '--debug' # debug + $DEBUG = true + when '-r' # require + require ARGV.req_arg + when '-S' # security level + arg = ARGV.req_arg + raise "invalid safe_level #{arg.dump}" unless arg =~ /^[0-4]$/ + safe_level = arg.to_i + when '-T' # trim mode + arg = ARGV.req_arg + if arg == '-' + trim_mode = arg + next + end + raise "invalid trim mode #{arg.dump}" unless arg =~ /^[0-2]$/ + trim_mode = arg.to_i + when '-K' # KCODE + arg = ARGV.req_arg + case arg.downcase + when 'e', '-e', 'euc' + $KCODE = 'EUC' + when 's', '-s', 'sjis' + $KCODE = 'SJIS' + when 'u', '-u', 'utf8' + $KCODE = 'UTF8' + when 'n', '-n', 'none' + $KCODE = 'NONE' + else + raise "invalid KCODE #{arg.dump}" + end + when '-P' + disable_percent = true + when '--help' + raise "print this help" + else + raise "unknown switch #{switch.dump}" + end + end + rescue # usage + STDERR.puts $!.to_s + STDERR.puts File.basename($0) + + " [switches] [inputfile]" + STDERR.puts <<EOU + -x print ruby script + -n print ruby script with line number + -v enable verbose mode + -d set $DEBUG to true + -r [library] load a library + -K [kcode] specify KANJI code-set + -S [safe_level] set $SAFE (0..4) + -T [trim_mode] specify trim_mode (0..2, -) + -P ignore lines which start with "%" +EOU + exit 1 + end + + src = $<.read + filename = $FILENAME + exit 2 unless src + trim = trim_mode_opt(trim_mode, disable_percent) + erb = factory.new(src.untaint, safe_level, trim) + erb.filename = filename + if output + if number + l = 1 + for line in erb.src + puts "%3d %s"%[l, line] + l += 1 + end + else + puts erb.src + end + else + erb.run(TOPLEVEL_BINDING.taint) + end + end + module_function :run + end +end + +if __FILE__ == $0 + ERB::Main.run +end diff --git a/ruby_1_8_5/bin/irb b/ruby_1_8_5/bin/irb new file mode 100644 index 0000000000..13474a932b --- /dev/null +++ b/ruby_1_8_5/bin/irb @@ -0,0 +1,21 @@ +#!/usr/bin/env ruby +# +# irb.rb - intaractive ruby +# $Release Version: 0.9.5 $ +# $Revision: 1.2.2.1 $ +# $Date: 2005/04/19 19:24:56 $ +# by Keiju ISHITSUKA(keiju@ruby-lang.org) +# + +require "irb" + +if __FILE__ == $0 + IRB.start(__FILE__) +else + # check -e option + if /^-e$/ =~ $0 + IRB.start(__FILE__) + else + IRB.setup(__FILE__) + end +end diff --git a/ruby_1_8_5/bin/rdoc b/ruby_1_8_5/bin/rdoc new file mode 100644 index 0000000000..d08ce838f6 --- /dev/null +++ b/ruby_1_8_5/bin/rdoc @@ -0,0 +1,67 @@ +#!/usr/bin/env ruby +# +# RDoc: Documentation tool for source code +# (see lib/rdoc/rdoc.rb for more information) +# +# Copyright (c) 2003 Dave Thomas +# Released under the same terms as Ruby +# +# $Revision: 1.1 $ + +## Transitional Hack #### +# +# RDoc was initially distributed independently, and installed +# itself into <prefix>/lib/ruby/site_ruby/<ver>/rdoc... +# +# Now that RDoc is part of the distribution, it's installed into +# <prefix>/lib/ruby/<ver>, which unfortunately appears later in the +# search path. This means that if you have previously installed RDoc, +# and then install from ruby-lang, you'll pick up the old one by +# default. This hack checks for the condition, and readjusts the +# search path if necessary. + +def adjust_for_existing_rdoc(path) + + $stderr.puts %{ + It seems as if you have a previously-installed RDoc in + the directory #{path}. + + Because this is now out-of-date, you might want to consider + removing the directories: + + #{File.join(path, "rdoc")} + + and + + #{File.join(path, "markup")} + + } + + # Move all the site_ruby directories to the end + p $: + $:.replace($:.partition {|path| /site_ruby/ !~ path}.flatten) + p $: +end + +$:.each do |path| + if /site_ruby/ =~ path + rdoc_path = File.join(path, 'rdoc', 'rdoc.rb') + if File.exists?(rdoc_path) + adjust_for_existing_rdoc(path) + break + end + end +end + +## End of Transitional Hack ## + + +require 'rdoc/rdoc' + +begin + r = RDoc::RDoc.new + r.document(ARGV) +rescue RDoc::RDocError => e + $stderr.puts e.message + exit(1) +end diff --git a/ruby_1_8_5/bin/ri b/ruby_1_8_5/bin/ri new file mode 100755 index 0000000000..fb3e00eda3 --- /dev/null +++ b/ruby_1_8_5/bin/ri @@ -0,0 +1,49 @@ +#!/usr/bin/env ruby +# usage: +# +# ri name... +# +# where name can be +# +# Class | Class::method | Class#method | Class.method | method +# +# All names may be abbreviated to their minimum unbiguous form. If a name +# _is_ ambiguous, all valid options will be listed. +# +# The form '.' method matches either class or instance methods, while +# #method matches only instance and ::method matches only class methods. +# +# +# == Installing Documentation +# +# 'ri' uses a database of documentation built by the RDoc utility. +# +# So, how do you install this documentation on your system? +# It depends on how you installed Ruby. +# +# <em>If you installed Ruby from source files</em> (that is, if it some point +# you typed 'make' during the process :), you can install the RDoc +# documentation yourself. Just go back to the place where you have +# your Ruby source and type +# +# make install-doc +# +# You'll probably need to do this as a superuser, as the documentation +# is installed in the Ruby target tree (normally somewhere under +# <tt>/usr/local</tt>. +# +# <em>If you installed Ruby from a binary distribution</em> (perhaps +# using a one-click installer, or using some other packaging system), +# then the team that produced the package probably forgot to package +# the documentation as well. Contact them, and see if they can add +# it to the next release. +# + + +require 'rdoc/ri/ri_driver' + +###################################################################### + +ri = RiDriver.new +ri.process_args + diff --git a/ruby_1_8_5/bin/testrb b/ruby_1_8_5/bin/testrb new file mode 100755 index 0000000000..ff49cb5466 --- /dev/null +++ b/ruby_1_8_5/bin/testrb @@ -0,0 +1,5 @@ +#!/usr/bin/env ruby +require 'test/unit' +(r = Test::Unit::AutoRunner.new(true)).process_args(ARGV) or + abort r.options.banner + " tests..." +exit r.run |