Class: Oppen::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/oppen.rb

Overview

Config.

Defined Under Namespace

Modules: IndentAnchor

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(indent_anchor: IndentAnchor::ON_BREAK, eager_print: false) ⇒ Config

Returns a new instance of Config.



81
82
83
84
# File 'lib/oppen.rb', line 81

def initialize(indent_anchor: IndentAnchor::ON_BREAK, eager_print: false)
  @indent_anchor = indent_anchor
  @eager_print = eager_print
end

Instance Attribute Details

#eager_printBoolean

Print groups eagerly

Examples:

out = Oppen::Wadler.new (margin: 13)
out.group {
  out.group {
    out.text 'abc'
    out.breakable
    out.text 'def'
  }
  out.group {
    out.text 'ghi'
    out.breakable
    out.text 'jkl'
  }
}
out.output

# eager_print: false
# =>
# abc
# defghi jkl
#
# eager_print: true
# =>
# abc defghi
# jkl

Returns:

  • (Boolean)


79
80
81
# File 'lib/oppen.rb', line 79

def eager_print
  @eager_print
end

#indent_anchorObject

Returns the value of attribute indent_anchor.



49
50
51
# File 'lib/oppen.rb', line 49

def indent_anchor
  @indent_anchor
end

Class Method Details

.oppenConfig

Default config for Oppen usage

Returns:



88
89
90
# File 'lib/oppen.rb', line 88

def self.oppen
  new
end

.wadler(eager_print: true) ⇒ Config

Default config for Wadler usage

Returns:



94
95
96
# File 'lib/oppen.rb', line 94

def self.wadler(eager_print: true)
  new(indent_anchor: IndentAnchor::ON_BEGIN, eager_print:)
end