diff options
Diffstat (limited to 'ruby_2_2/lib/shell/filter.rb')
-rw-r--r-- | ruby_2_2/lib/shell/filter.rb | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/ruby_2_2/lib/shell/filter.rb b/ruby_2_2/lib/shell/filter.rb deleted file mode 100644 index 9fae07d23e..0000000000 --- a/ruby_2_2/lib/shell/filter.rb +++ /dev/null @@ -1,137 +0,0 @@ -# -# shell/filter.rb - -# $Release Version: 0.7 $ -# $Revision$ -# by Keiju ISHITSUKA(keiju@ruby-lang.org) -# -# -- -# -# -# - -class Shell #:nodoc: - # Any result of command execution is a Filter. - # - # This class includes Enumerable, therefore a Filter object can use all - # Enumerable - # facilities. - # - class Filter - include Enumerable - - def initialize(sh) - @shell = sh # parent shell - @input = nil # input filter - end - - attr_reader :input - - def input=(filter) - @input = filter - end - - # call-seq: - # each(record_separator=nil) { block } - # - # Iterates a block for each line. - def each(rs = nil) - rs = @shell.record_separator unless rs - if @input - @input.each(rs){|l| yield l} - end - end - - # call-seq: - # < source - # - # Inputs from +source+, which is either a string of a file name or an IO - # object. - def < (src) - case src - when String - cat = Cat.new(@shell, src) - cat | self - when IO - self.input = src - self - else - Shell.Fail Error::CantApplyMethod, "<", to.class - end - end - - # call-seq: - # > source - # - # Outputs from +source+, which is either a string of a file name or an IO - # object. - def > (to) - case to - when String - dst = @shell.open(to, "w") - begin - each(){|l| dst << l} - ensure - dst.close - end - when IO - each(){|l| to << l} - else - Shell.Fail Error::CantApplyMethod, ">", to.class - end - self - end - - # call-seq: - # >> source - # - # Appends the output to +source+, which is either a string of a file name - # or an IO object. - def >> (to) - begin - Shell.cd(@shell.pwd).append(to, self) - rescue CantApplyMethod - Shell.Fail Error::CantApplyMethod, ">>", to.class - end - end - - # call-seq: - # | filter - # - # Processes a pipeline. - def | (filter) - filter.input = self - if active? - @shell.process_controller.start_job filter - end - filter - end - - # call-seq: - # filter1 + filter2 - # - # Outputs +filter1+, and then +filter2+ using Join.new - def + (filter) - Join.new(@shell, self, filter) - end - - def to_a - ary = [] - each(){|l| ary.push l} - ary - end - - def to_s - str = "" - each(){|l| str.concat l} - str - end - - def inspect - if @shell.debug.kind_of?(Integer) && @shell.debug > 2 - super - else - to_s - end - end - end -end |