Class: Pry::Pager

Inherits:
Object show all
Defined in:
lib/pry/pager.rb

Overview

A pager is an IO-like object that accepts text and either prints it immediately, prints it one page at a time, or streams it to an external program to print one page at a time.

Defined Under Namespace

Classes: NullPager, PageTracker, SimplePager, StopPaging, SystemPager

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_pry_) ⇒ Pager

Returns a new instance of Pager.



12
13
14
# File 'lib/pry/pager.rb', line 12

def initialize(_pry_)
  @_pry_ = _pry_
end

Instance Attribute Details

#_pry_Object (readonly)

Returns the value of attribute pry.



10
11
12
# File 'lib/pry/pager.rb', line 10

def _pry_
  @_pry_
end

Instance Method Details

#openObject

Yields a pager object (NullPager, SimplePager, or SystemPager). All pagers accept output with #puts, #print, #write, and ‘#<<`.

Parameters:

  • output (IO)

    (‘$stdout`) An object to send output to.



31
32
33
34
35
36
37
# File 'lib/pry/pager.rb', line 31

def open
  pager = best_available
  yield pager
rescue StopPaging
ensure
  pager.close if pager
end

#page(text) ⇒ Object

Send the given text through the best available pager (if Pry.config.pager is enabled). If you want to send text through in chunks as you generate it, use open to get a writable object instead.

Parameters:

  • text (String)

    A piece of text to run through a pager.

  • output (IO)

    (‘$stdout`) An object to send output to.



22
23
24
25
26
# File 'lib/pry/pager.rb', line 22

def page(text)
  open do |pager|
    pager << text
  end
end