Class: Riml::CurlyBracePart

Inherits:
Struct
  • Object
show all
Includes:
Visitable, Walkable
Defined in:
lib/nodes.rb

Constant Summary

Constants included from Visitable

Visitable::DESCENDANT_OF_REGEX

Instance Attribute Summary collapse

Attributes included from Visitable

#compiled_output, #force_newline, #parent_node, #scope

Instance Method Summary collapse

Methods included from Walkable

#child_after, #child_previous_to, #each, #index_by_children, #index_by_member, #insert_after, #insert_before, #next, #previous, #remove, #replace_with

Methods included from Visitable

#accept, #method_missing, #respond_to?

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Riml::Visitable

Instance Attribute Details

#valueObject

Returns the value of attribute value

Returns:

  • (Object)

    the current value of value



559
560
561
# File 'lib/nodes.rb', line 559

def value
  @value
end

Instance Method Details

#childrenObject



572
573
574
575
576
577
578
579
580
# File 'lib/nodes.rb', line 572

def children
  if !interpolated?
    []
  elsif nested?
    value
  else
    [value]
  end
end

#interpolated?Boolean

Returns:

  • (Boolean)


563
564
565
566
# File 'lib/nodes.rb', line 563

def interpolated?
  GetVariableNode === value || GetSpecialVariableNode === value ||
    CallNode === value || nested?
end

#nested?Boolean

Returns:

  • (Boolean)


568
569
570
# File 'lib/nodes.rb', line 568

def nested?
  value.is_a?(Array) && value.detect {|part| part.is_a?(CurlyBracePart)}
end