1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/Env.rb, lib/base64.rb, lib/importenv.rb, lib/eregex.rb: removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2007-12-17 20:58:34 +00:00
parent c611b6d0cc
commit 51b0310930
6 changed files with 4 additions and 228 deletions

View file

@ -1,3 +1,7 @@
Tue Dec 18 05:54:26 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* lib/Env.rb, lib/base64.rb, lib/importenv.rb, lib/eregex.rb: removed.
Tue Dec 18 02:30:56 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (BUILTIN_ENCS): removed.

View file

@ -1,18 +0,0 @@
# Env.rb -- imports environment variables as global variables, Perlish ;(
# Usage:
#
# require 'Env'
# p $USER
# $USER = "matz"
# p ENV["USER"]
require 'importenv'
if __FILE__ == $0
p $TERM
$TERM = nil
p $TERM
p ENV["TERM"]
$TERM = "foo"
p ENV["TERM"]
end

View file

@ -1,7 +1,5 @@
English.rb lets Perl'ish global variables have English names
Env.rb loads importenv.rb
README this file
base64.rb encodes/decodes base64 (obsolete)
benchmark.rb a benchmark utility
cgi-lib.rb simple CGI support library (old style)
cgi.rb CGI support library
@ -15,7 +13,6 @@ delegate.rb delegates messages to other object
drb.rb distributed Ruby
e2mmap.rb exception utilities
erb.rb tiny eRuby library
eregex.rb extended regular expression (just a proof of concept)
fileutils.rb file utilities
finalize.rb adds finalizer to the object
find.rb traverses directory tree
@ -24,7 +21,6 @@ ftools.rb file tools
getoptlong.rb GNU getoptlong compatible
getopts.rb parses command line options (use getoptlong)
gserver.rb general TCP server
importenv.rb imports environment variables as global variables
ipaddr.rb defines the IPAddr class
irb.rb interactive ruby
logger.rb simple logging utility

View file

@ -1,136 +0,0 @@
#
# = base64.rb: methods for base64-encoding and -decoding stings
#
# Author:: Yukihiro Matsumoto
# Documentation:: Dave Thomas and Gavin Sinclair
#
# Until Ruby 1.8.1, these methods were defined at the top-level. Now
# they are in the Base64 module but included in the top-level, where
# their usage is deprecated.
#
# See Base64 for documentation.
#
require "kconv"
# The Base64 module provides for the encoding (#encode64) and decoding
# (#decode64) of binary data using a Base64 representation.
#
# The following particular features are also provided:
# - encode into lines of a given length (#b64encode)
# - decode the special format specified in RFC2047 for the
# representation of email headers (decode_b)
#
# == Example
#
# A simple encoding and decoding.
#
# require "base64"
#
# enc = Base64.encode64('Send reinforcements')
# # -> "U2VuZCByZWluZm9yY2VtZW50cw==\n"
# plain = Base64.decode64(enc)
# # -> "Send reinforcements"
#
# The purpose of using base64 to encode data is that it translates any
# binary data into purely printable characters. It is specified in
# RFC 2045 (http://www.faqs.org/rfcs/rfc2045.html).
module Base64
module_function
# Returns the Base64-decoded version of +str+.
#
# require 'base64'
# str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
# 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
# 'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
# puts Base64.decode64(str)
#
# <i>Generates:</i>
#
# This is line one
# This is line two
# This is line three
# And so on...
def decode64(str)
str.unpack("m")[0]
end
# Decodes text formatted using a subset of RFC2047 (the one used for
# mime-encoding mail headers).
#
# Only supports an encoding type of 'b' (base 64), and only supports
# the character sets ISO-2022-JP and SHIFT_JIS (so the only two
# encoded word sequences recognized are <tt>=?ISO-2022-JP?B?...=</tt> and
# <tt>=?SHIFT_JIS?B?...=</tt>). Recognition of these sequences is case
# insensitive.
def decode_b(str)
str.gsub!(/=\?ISO-2022-JP\?B\?([!->@-~]+)\?=/i) {
decode64($1)
}
str = Kconv::toeuc(str)
str.gsub!(/=\?SHIFT_JIS\?B\?([!->@-~]+)\?=/i) {
decode64($1)
}
str = Kconv::toeuc(str)
str.gsub!(/\n/, ' ')
str.gsub!(/\0/, '')
str
end
# Returns the Base64-encoded version of +str+.
#
# require 'base64'
# Base64.b64encode("Now is the time for all good coders\nto learn Ruby")
#
# <i>Generates:</i>
#
# Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
# UnVieQ==
def encode64(bin)
[bin].pack("m")
end
# _Prints_ the Base64 encoded version of +bin+ (a +String+) in lines of
# +len+ (default 60) characters.
#
# require 'base64'
# data = "Now is the time for all good coders\nto learn Ruby"
# Base64.b64encode(data)
#
# <i>Generates:</i>
#
# Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
# UnVieQ==
def b64encode(bin, len = 60)
encode64(bin).scan(/.{1,#{len}}/) do
print $&, "\n"
end
end
module Deprecated # :nodoc:
include Base64
def _deprecated_base64(*args)
m0, m1 = caller(0)
m = m0[/\`(.*?)\'\z/, 1]
warn("#{m1}: #{m} is deprecated; use Base64.#{m} instead")
super
end
dep = instance_method(:_deprecated_base64)
remove_method(:_deprecated_base64)
for m in Base64.private_instance_methods(false)
define_method(m, dep)
end
end
end
include Base64::Deprecated

View file

@ -1,37 +0,0 @@
# this is just a proof of concept toy.
class RegOr
def initialize(re1, re2)
@re1 = re1
@re2 = re2
end
def =~ (str)
@re1 =~ str or @re2 =~ str
end
end
class RegAnd
def initialize(re1, re2)
@re1 = re1
@re2 = re2
end
def =~ (str)
@re1 =~ str and @re2 =~ str
end
end
class Regexp
def |(other)
RegOr.new(self, other)
end
def &(other)
RegAnd.new(self, other)
end
end
if __FILE__ == $0
p "abc" =~ /b/|/c/
p "abc" =~ /b/&/c/
end

View file

@ -1,33 +0,0 @@
# importenv.rb -- imports environment variables as global variables, Perlish ;(
#
# Usage:
#
# require 'importenv'
# p $USER
# $USER = "matz"
# p ENV["USER"]
warn "Warning:#{caller[0].sub(/:in `.*'\z/, '')}: importenv is deprecated after Ruby 1.8.1 (no replacement)"
for k,v in ENV
next unless /^[a-zA-Z][_a-zA-Z0-9]*/ =~ k
eval <<EOS
$#{k} = v
trace_var "$#{k}", proc{|v|
ENV[%q!#{k}!] = v
$#{k} = v
if v == nil
untrace_var "$#{k}"
end
}
EOS
end
if __FILE__ == $0
p $TERM
$TERM = nil
p $TERM
p ENV["TERM"]
$TERM = "foo"
p ENV["TERM"]
end