Class: Slamdown::Conversion::Normalisation

Inherits:
Object
  • Object
show all
Defined in:
lib/slamdown/conversion/normalisation.rb

Overview

Carries the immutable normalised conversion tree together with the corrective diagnostics produced while building it.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tree, diagnostics) ⇒ Normalisation

Returns a new instance of Normalisation.

Raises:

  • (ArgumentError)


10
11
12
13
14
15
16
17
# File 'lib/slamdown/conversion/normalisation.rb', line 10

def initialize(tree, diagnostics)
	raise ArgumentError, "tree must be a normalised Slamdown node" unless tree.is_a?(NormalisedNode)
	raise ArgumentError, "diagnostics must contain only Slamdown diagnostics" unless diagnostics.is_a?(Array) && diagnostics.all? { |diagnostic| diagnostic.is_a?(Diagnostic) }

	@tree = tree
	@diagnostics = diagnostics.dup.freeze
	freeze
end

Instance Attribute Details

#diagnosticsObject (readonly)

Returns the value of attribute diagnostics.



8
9
10
# File 'lib/slamdown/conversion/normalisation.rb', line 8

def diagnostics
  @diagnostics
end

#treeObject (readonly)

Returns the value of attribute tree.



8
9
10
# File 'lib/slamdown/conversion/normalisation.rb', line 8

def tree
  @tree
end