Class: Liquidice::Transformer::Nodes::LiquidTemplateInterpolation
- Defined in:
- lib/liquidice/transformer/nodes/liquid_template_interpolation.rb
Instance Attribute Summary
Attributes inherited from Base
#children, #options, #original_text
Instance Method Summary collapse
Methods inherited from Base
#can_be_merged?, #dot_id, #initialize, #strict_mode?, #write_dot, #write_dot_file
Constructor Details
This class inherits a constructor from Liquidice::Transformer::Nodes::Base
Instance Method Details
#to_s ⇒ Object
33 34 35 |
# File 'lib/liquidice/transformer/nodes/liquid_template_interpolation.rb', line 33 def to_s children.map(&:to_s).join end |
#transform! ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/liquidice/transformer/nodes/liquid_template_interpolation.rb', line 5 def transform! head, tail, middle = [], [], [] current_interpolation_part_context = ::Liquidice::Transformer::Nodes::LiquidInterpolationPart::OPEN_DELIMITER_TYPE children.each do |child| if child.is_a?(::Liquidice::Transformer::Nodes::LiquidInterpolationPart) middle << child current_interpolation_part_context = child.type elsif child.is_a?(::Liquidice::Transformer::Nodes::HtmlTag) if current_interpolation_part_context == ::Liquidice::Transformer::Nodes::LiquidInterpolationPart::OPEN_DELIMITER_TYPE head << child elsif current_interpolation_part_context == ::Liquidice::Transformer::Nodes::LiquidInterpolationPart::INTERPOLATION_CONTENT_TYPE child.opening? ? head << child : tail << child elsif current_interpolation_part_context == ::Liquidice::Transformer::Nodes::LiquidInterpolationPart::CLOSE_DELIMITER_TYPE tail << child else raise "Unknown interpolation part context: #{current_interpolation_part_context}" end end end @children = head + middle + tail end |
#validate! ⇒ Object
29 30 31 |
# File 'lib/liquidice/transformer/nodes/liquid_template_interpolation.rb', line 29 def validate! raise(Liquidice::Errors::TransformerValidationError, "Children must be present") if children.empty? end |