Parent

Pry::History

The History class is responsible for maintaining the user's input history, both internally and within Readline.

Attributes

clearer[RW]
loader[RW]
pusher[RW]
saver[RW]

Public Class Methods

new() click to toggle source
# File lib/pry/history.rb, line 7
def initialize
  @history = []
  @saved_lines = 0
  restore_default_behavior
end

Public Instance Methods

<<(line) click to toggle source
Alias for: push
clear() click to toggle source

Clear all history. Anything the user entered before this point won't be saved, but anything they put in afterwards will still be appended to the history file on exit.

# File lib/pry/history.rb, line 55
def clear
  @clearer.call
  @history = []
  @saved_lines = 0
end
load() click to toggle source

Load the input history using `History.loader`. @return [Integer] The number of lines loaded

# File lib/pry/history.rb, line 23
def load
  @loader.call do |line|
    @pusher.call(line.chomp)
    @history << line.chomp
  end
  @saved_lines = @history.length
end
push(line) click to toggle source

Add a line to the input history, ignoring blank and duplicate lines. @param [String] line @return [String] The same line that was passed in

# File lib/pry/history.rb, line 43
def push(line)
  unless line.empty? || (@history.last && line == @history.last)
    @pusher.call(line)
    @history << line
  end
  line
end
Also aliased as: <<
restore_default_behavior() click to toggle source

Assign the default methods for loading, saving, pushing, and clearing.

# File lib/pry/history.rb, line 14
def restore_default_behavior
  @loader  = method(:read_from_file)
  @saver   = method(:write_to_file)
  @pusher  = method(:push_to_readline)
  @clearer = method(:clear_readline)
end
save() click to toggle source

Write this session's history using `History.saver`. @return [Integer] The number of lines saved

# File lib/pry/history.rb, line 33
def save
  history_to_save = @history[@saved_lines..-1]
  @saver.call(history_to_save)
  @saved_lines = @history.length
  history_to_save.length
end
to_a() click to toggle source

Return an Array containing all stored history. @return [Array<String>] An Array containing all lines of history loaded

or entered by the user in the current session.
# File lib/pry/history.rb, line 64
def to_a
  @history.dup
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.