diff options
author | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-09-20 12:56:18 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-09-20 12:56:18 +0900 |
commit | 3b56a0934fa503b518e8302ed32f9124740d896b (patch) | |
tree | 51248684f6e5306516ae122518b1ca299da5581b /lib/shell/builtin-command.rb | |
parent | 67a6662032d0a7c4af07f44c2046cd0ed2d7d253 (diff) |
Removed Shell from the ruby repository.
Diffstat (limited to 'lib/shell/builtin-command.rb')
-rw-r--r-- | lib/shell/builtin-command.rb | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/lib/shell/builtin-command.rb b/lib/shell/builtin-command.rb deleted file mode 100644 index a6a9d232ad..0000000000 --- a/lib/shell/builtin-command.rb +++ /dev/null @@ -1,147 +0,0 @@ -# frozen_string_literal: false -# -# shell/builtin-command.rb - -# $Release Version: 0.7 $ -# $Revision$ -# by Keiju ISHITSUKA(keiju@ruby-lang.org) -# -# -- -# -# -# - -require_relative "filter" - -class Shell - class BuiltInCommand < Filter - def wait? - false - end - def active? - true - end - end - - class Void < BuiltInCommand - def initialize(sh, *opts) - super sh - end - - def each(rs = nil) - # do nothing - end - end - - class Echo < BuiltInCommand - def initialize(sh, *strings) - super sh - @strings = strings - end - - def each(rs = nil) - rs = @shell.record_separator unless rs - for str in @strings - yield str + rs - end - end - end - - class Cat < BuiltInCommand - def initialize(sh, *filenames) - super sh - @cat_files = filenames - end - - def each(rs = nil) - if @cat_files.empty? - super - else - for src in @cat_files - @shell.foreach(src, rs){|l| yield l} - end - end - end - end - - class Glob < BuiltInCommand - def initialize(sh, pattern) - super sh - - @pattern = pattern - end - - def each(rs = nil) - if @pattern[0] == ?/ - @files = Dir[@pattern] - else - prefix = @shell.pwd+"/" - @files = Dir[prefix+@pattern].collect{|p| p.sub(prefix, "")} - end - rs = @shell.record_separator unless rs - for f in @files - yield f+rs - end - end - end - - class AppendIO < BuiltInCommand - def initialize(sh, io, filter) - super sh - @input = filter - @io = io - end - - def input=(filter) - @input.input=filter - for l in @input - @io << l - end - end - - end - - class AppendFile < AppendIO - def initialize(sh, to_filename, filter) - @file_name = to_filename - io = sh.open(to_filename, "a") - super(sh, io, filter) - end - - def input=(filter) - begin - super - ensure - @io.close - end - end - end - - class Tee < BuiltInCommand - def initialize(sh, filename) - super sh - @to_filename = filename - end - - def each(rs = nil) - to = @shell.open(@to_filename, "w") - begin - super{|l| to << l; yield l} - ensure - to.close - end - end - end - - class Concat < BuiltInCommand - def initialize(sh, *jobs) - super(sh) - @jobs = jobs - end - - def each(rs = nil) - while job = @jobs.shift - job.each{|l| yield l} - end - end - end -end |