Class: Psych::Nodes::Sequence

Inherits:
Node show all
Defined in:
lib/psych/nodes/sequence.rb

Overview

This class represents a YAML sequence.

A YAML sequence is basically a list, and looks like this:

%YAML 1.1
---
- I am
- a Sequence

A YAML sequence may have an anchor like this:

%YAML 1.1
---
&A [
  "This sequence",
  "has an anchor"
]

A YAML sequence may also have a tag like this:

%YAML 1.1
---
!!seq [
  "This sequence",
  "has a tag"
]

This class represents a sequence in a YAML document. A Psych::Nodes::Sequence node may have 0 or more children. Valid children for this node are:

  • Psych::Nodes::Sequence

  • Psych::Nodes::Mapping

  • Psych::Nodes::Scalar

  • Psych::Nodes::Alias

Constant Summary collapse

ANY =

Any Styles, emitter chooses

0
BLOCK =

Block style sequence

1
FLOW =

Flow style sequence

2

Instance Attribute Summary collapse

Attributes inherited from Node

#children

Instance Method Summary collapse

Methods inherited from Node

#each, #to_ruby, #yaml

Constructor Details

#initialize(anchor = nil, tag = nil, implicit = true, style = BLOCK) ⇒ Sequence

Create a new object representing a YAML sequence.

anchor is the anchor associated with the sequence or nil. tag is the tag associated with the sequence or nil. implicit a boolean indicating whether or not the sequence was implicitly started. style is an integer indicating the list style.

See Psych::Handler#start_sequence



72
73
74
75
76
77
78
# File 'lib/psych/nodes/sequence.rb', line 72

def initialize anchor = nil, tag = nil, implicit = true, style = BLOCK
  super()
  @anchor   = anchor
  @tag      = tag
  @implicit = implicit
  @style    = style
end

Instance Attribute Details

#anchorObject

The anchor for this sequence (if any)



51
52
53
# File 'lib/psych/nodes/sequence.rb', line 51

def anchor
  @anchor
end

#implicitObject

Is this sequence started implicitly?



57
58
59
# File 'lib/psych/nodes/sequence.rb', line 57

def implicit
  @implicit
end

#styleObject

The sequence style used



60
61
62
# File 'lib/psych/nodes/sequence.rb', line 60

def style
  @style
end

#tagObject

The tag name for this sequence (if any)



54
55
56
# File 'lib/psych/nodes/sequence.rb', line 54

def tag
  @tag
end