Class: Stupidedi::Builder::FailureState
- Inherits:
-
AbstractState
show all
- Defined in:
- lib/stupidedi/builder/states/failure_state.rb
Instance Attribute Summary (collapse)
Instance Method Summary
(collapse)
#leaf?, lsequence, mkcomposite, mkelement, mkrepeated, mksimple, #pretty_print, sequence, tsequence
Methods included from Inspect
#inspect
Constructor Details
- (FailureState) initialize(separators, segment_dict, instructions, zipper, children)
A new instance of FailureState
21
22
23
24
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 21
def initialize(separators, segment_dict, instructions, zipper, children)
@separators, @segment_dict, @instructions, @zipper, @children =
separators, segment_dict, instructions, zipper, children
end
|
Instance Attribute Details
19
20
21
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 19
def children
@children
end
|
16
17
18
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 16
def instructions
@instructions
end
|
10
11
12
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 10
def segment_dict
@segment_dict
end
|
7
8
9
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 7
def separators
@separators
end
|
13
14
15
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 13
def zipper
@zipper
end
|
Class Method Details
+ mksegment(segment_tok, parent)
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 53
def mksegment(segment_tok, parent)
segment_val = Values::InvalidSegmentVal.new \
"unexpected segment", segment_tok
new(parent.separators,
parent.segment_dict,
parent.instructions,
parent.zipper.append(segment_val),
[])
end
|
+ (Zipper::AbstractCursor) push(zipper, parent, segment_tok, reason)
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 41
def push(zipper, parent, segment_tok, reason)
envelope_val = Values::InvalidEnvelopeVal.new([])
segment_val = Values::InvalidSegmentVal.new(reason, segment_tok)
zipper.append_child new(
parent.separators,
parent.segment_dict,
parent.instructions.push([]),
parent.zipper.append(envelope_val).append_child(segment_val),
[])
end
|
Instance Method Details
- copy(changes = {})
26
27
28
29
30
31
32
33
|
# File 'lib/stupidedi/builder/states/failure_state.rb', line 26
def copy(changes = {})
FailureState.new \
changes.fetch(:separators, @separators),
changes.fetch(:segment_dict, @segment_dict),
changes.fetch(:instructions, @instructions),
changes.fetch(:zipper, @zipper),
changes.fetch(:children, @zipper)
end
|