# class IRB::FileInputMethod

Use a `File` for `IO` with irb, see `InputMethod`

### Attributes

file_name[R]

The file name of this input method, usually given during initialization.

### Public Class Methods

new(file) click to toggle source

Creates a new input method object

Calls superclass method `IRB::InputMethod::new`

    # File lib/irb/input-method.rb, line 138
    def initialize(file)
      super
      @io = file.is_a?(IO) ? file : IRB::MagicFile.open(file)
      @external_encoding = @io.external_encoding
    end

open(file, &block) click to toggle source

    # File lib/irb/input-method.rb, line 127
    def open(file, &block)
      begin
        io = new(file)
        block.call(io)
      ensure
        io&.close
      end
    end

### Public Instance Methods

close() click to toggle source

    # File lib/irb/input-method.rb, line 172
    def close
      @io.close
    end

encoding() click to toggle source

The external encoding for standard input.

    # File lib/irb/input-method.rb, line 163
    def encoding
      @external_encoding
    end

eof?() click to toggle source

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.

    # File lib/irb/input-method.rb, line 150
    def eof?
      @io.closed? || @io.eof?
    end

gets() click to toggle source

Reads the next line from this input method.

See `IO#gets` for more information.

    # File lib/irb/input-method.rb, line 157
    def gets
      print @prompt
      @io.gets
    end

inspect() click to toggle source

For debug message

    # File lib/irb/input-method.rb, line 168
    def inspect
      'FileInputMethod'
    end