Class: PrettyPrint::Group
- Inherits:
-
Object
- Object
- PrettyPrint::Group
- Defined in:
- lib/prettyprint.rb
Overview
The Group class is used for making indentation easier.
While this class does neither the breaking into newlines nor indentation, it is used in a stack (as well as a queue) within PrettyPrint, to group objects.
For information on using groups, see PrettyPrint#group
This class is intended for internal use of the PrettyPrint buffers.
Instance Attribute Summary collapse
-
#breakables ⇒ Object
readonly
Array to hold the Breakable objects for this Group.
-
#depth ⇒ Object
readonly
This group’s relation to previous groups.
Instance Method Summary collapse
-
#break ⇒ Object
Makes a break for this Group, and returns true.
-
#break? ⇒ Boolean
Boolean of whether this Group has made a break.
-
#first? ⇒ Boolean
Boolean of whether this Group has been queried for being first.
-
#initialize(depth) ⇒ Group
constructor
Create a Group object.
Constructor Details
#initialize(depth) ⇒ Group
Create a Group object
Arguments:
-
depth
- this group’s relation to previous groups
401 402 403 404 405 |
# File 'lib/prettyprint.rb', line 401 def initialize(depth) @depth = depth @breakables = [] @break = false end |
Instance Attribute Details
#breakables ⇒ Object (readonly)
Array to hold the Breakable objects for this Group
411 412 413 |
# File 'lib/prettyprint.rb', line 411 def breakables @breakables end |
#depth ⇒ Object (readonly)
This group’s relation to previous groups
408 409 410 |
# File 'lib/prettyprint.rb', line 408 def depth @depth end |
Instance Method Details
#break ⇒ Object
Makes a break for this Group, and returns true
414 415 416 |
# File 'lib/prettyprint.rb', line 414 def break @break = true end |
#break? ⇒ Boolean
Boolean of whether this Group has made a break
419 420 421 |
# File 'lib/prettyprint.rb', line 419 def break? @break end |
#first? ⇒ Boolean
Boolean of whether this Group has been queried for being first
This is used as a predicate, and ought to be called first.
426 427 428 429 430 431 432 433 |
# File 'lib/prettyprint.rb', line 426 def first? if defined? @first false else @first = false true end end |