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:
parent
c611b6d0cc
commit
51b0310930
6 changed files with 4 additions and 228 deletions
|
@ -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>
|
Tue Dec 18 02:30:56 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* configure.in (BUILTIN_ENCS): removed.
|
* configure.in (BUILTIN_ENCS): removed.
|
||||||
|
|
18
lib/Env.rb
18
lib/Env.rb
|
@ -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
|
|
|
@ -1,7 +1,5 @@
|
||||||
English.rb lets Perl'ish global variables have English names
|
English.rb lets Perl'ish global variables have English names
|
||||||
Env.rb loads importenv.rb
|
|
||||||
README this file
|
README this file
|
||||||
base64.rb encodes/decodes base64 (obsolete)
|
|
||||||
benchmark.rb a benchmark utility
|
benchmark.rb a benchmark utility
|
||||||
cgi-lib.rb simple CGI support library (old style)
|
cgi-lib.rb simple CGI support library (old style)
|
||||||
cgi.rb CGI support library
|
cgi.rb CGI support library
|
||||||
|
@ -15,7 +13,6 @@ delegate.rb delegates messages to other object
|
||||||
drb.rb distributed Ruby
|
drb.rb distributed Ruby
|
||||||
e2mmap.rb exception utilities
|
e2mmap.rb exception utilities
|
||||||
erb.rb tiny eRuby library
|
erb.rb tiny eRuby library
|
||||||
eregex.rb extended regular expression (just a proof of concept)
|
|
||||||
fileutils.rb file utilities
|
fileutils.rb file utilities
|
||||||
finalize.rb adds finalizer to the object
|
finalize.rb adds finalizer to the object
|
||||||
find.rb traverses directory tree
|
find.rb traverses directory tree
|
||||||
|
@ -24,7 +21,6 @@ ftools.rb file tools
|
||||||
getoptlong.rb GNU getoptlong compatible
|
getoptlong.rb GNU getoptlong compatible
|
||||||
getopts.rb parses command line options (use getoptlong)
|
getopts.rb parses command line options (use getoptlong)
|
||||||
gserver.rb general TCP server
|
gserver.rb general TCP server
|
||||||
importenv.rb imports environment variables as global variables
|
|
||||||
ipaddr.rb defines the IPAddr class
|
ipaddr.rb defines the IPAddr class
|
||||||
irb.rb interactive ruby
|
irb.rb interactive ruby
|
||||||
logger.rb simple logging utility
|
logger.rb simple logging utility
|
||||||
|
|
136
lib/base64.rb
136
lib/base64.rb
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
Loading…
Add table
Add a link
Reference in a new issue