blob: 740f1938a46228e99dc4aa20f4fa191e8b14040b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# frozen_string_literal: true
module Psych
module Nodes
###
# This class represents a
# {YAML sequence}[http://yaml.org/spec/1.1/#sequence/syntax].
#
# 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
class Sequence < Psych::Nodes::Node
# Any Styles, emitter chooses
ANY = 0
# Block style sequence
BLOCK = 1
# Flow style sequence
FLOW = 2
# The anchor for this sequence (if any)
attr_accessor :anchor
# The tag name for this sequence (if any)
attr_accessor :tag
# Is this sequence started implicitly?
attr_accessor :implicit
# The sequence style used
attr_accessor :style
###
# 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
def initialize anchor = nil, tag = nil, implicit = true, style = BLOCK
super()
@anchor = anchor
@tag = tag
@implicit = implicit
@style = style
end
def sequence?; true; end
end
end
end
|