Module: Terminal::Shell::Input
- Defined in:
- lib/terminal/shell.rb
Defined Under Namespace
Classes: ArrayWriter, CopyWriter, EnumerableWriter, Writer
Class Method Summary collapse
Class Method Details
.for(obj) ⇒ Object
82 83 84 85 86 87 88 89 90 |
# File 'lib/terminal/shell.rb', line 82 def self.for(obj) return unless obj return CopyWriter.new(obj) if obj.respond_to?(:readpartial) return CopyWriter.new(obj.to_io) if obj.respond_to?(:to_io) return ArrayWriter.new(obj) if obj.is_a?(Array) return EnumerableWriter.new(obj) if obj.respond_to?(:each) return ArrayWriter.new(obj.to_a) if obj.respond_to?(:to_a) Writer.new(obj) end |