Class: IRB::FileInputMethod
- Inherits:
-
InputMethod
- Object
- InputMethod
- IRB::FileInputMethod
- Defined in:
- lib/irb/input-method.rb
Overview
Use a File for IO with irb, see InputMethod
Instance Attribute Summary collapse
-
#file_name ⇒ Object
readonly
The file name of this input method, usually given during initialization.
Attributes inherited from InputMethod
Class Method Summary collapse
Instance Method Summary collapse
- #close ⇒ Object
-
#encoding ⇒ Object
The external encoding for standard input.
-
#eof? ⇒ Boolean
Whether the end of this input method has been reached, returns
true
if there is no more data to read. -
#gets ⇒ Object
Reads the next line from this input method.
-
#initialize(file) ⇒ FileInputMethod
constructor
Creates a new input method object.
-
#inspect ⇒ Object
For debug message.
Methods inherited from InputMethod
#readable_after_eof?, #winsize
Constructor Details
#initialize(file) ⇒ FileInputMethod
Creates a new input method object
139 140 141 142 143 |
# File 'lib/irb/input-method.rb', line 139 def initialize(file) super @io = IRB::MagicFile.open(file) @external_encoding = @io.external_encoding end |
Instance Attribute Details
#file_name ⇒ Object (readonly)
The file name of this input method, usually given during initialization.
145 146 147 |
# File 'lib/irb/input-method.rb', line 145 def file_name @file_name end |
Class Method Details
.open(file, &block) ⇒ Object
128 129 130 131 132 133 134 135 |
# File 'lib/irb/input-method.rb', line 128 def open(file, &block) begin io = new(file) block.call(io) ensure io&.close end end |
Instance Method Details
#close ⇒ Object
173 174 175 |
# File 'lib/irb/input-method.rb', line 173 def close @io.close end |
#encoding ⇒ Object
The external encoding for standard input.
164 165 166 |
# File 'lib/irb/input-method.rb', line 164 def encoding @external_encoding end |
#eof? ⇒ Boolean
Whether the end of this input method has been reached, returns true
if there is no more data to read.
See IO#eof? for more information.
151 152 153 |
# File 'lib/irb/input-method.rb', line 151 def eof? @io.closed? || @io.eof? end |
#gets ⇒ Object
Reads the next line from this input method.
See IO#gets for more information.
158 159 160 161 |
# File 'lib/irb/input-method.rb', line 158 def gets print @prompt @io.gets end |
#inspect ⇒ Object
For debug message
169 170 171 |
# File 'lib/irb/input-method.rb', line 169 def inspect 'FileInputMethod' end |