class Psych::Handler
Psych::Handler ist eine abstrakte Basisklasse, die die Ereignisse definiert, die bei der Arbeit mit Psych::Parser verwendet werden. Clients, die Psych::Parser verwenden möchten, sollten eine Klasse implementieren, die von Psych::Handler erbt und Ereignisse definiert, die sie behandeln können.
Psych::Handler definiert alle Ereignisse, die Psych::Parser an Ereignisbehandler senden kann.
Siehe Psych::Parser für weitere Details
Constants
- EREIGNISSE
-
Ereignisse, auf die ein
Handlerreagieren sollte. - OPTIONEN
-
Standard-Dumping-Optionen
Öffentliche Instanzmethoden
Source
# File ext/psych/lib/psych/handler.rb, line 110 def alias anchor end
Aufgerufen, wenn ein Alias auf anchor gefunden wird. anchor ist der Name des gefundenen Ankers.
Beispiel
Hier haben wir ein Beispiel für ein Array, das in YAML auf sich selbst verweist
--- &ponies - first element - *ponies
&ponies ist der Anker, *ponies ist der Alias. In diesem Fall wird alias mit "ponies" aufgerufen.
Source
# File ext/psych/lib/psych/handler.rb, line 236 def empty end
Aufgerufen, wenn ein leeres Ereignis auftritt. (Was, soweit ich weiß, niemals vorkommt).
Source
# File ext/psych/lib/psych/handler.rb, line 93 def end_document implicit end
Aufgerufen, wenn das Dokument endet. implicit ist ein boolescher Wert, der angibt, ob das Dokument ein implizites Ende hat oder nicht.
Beispiel
Gegeben sei folgendes YAML
--- hello world
implicit wird true sein. Gegeben sei dieses YAML
--- hello world ...
implicit wird false sein.
Source
# File ext/psych/lib/psych/handler.rb, line 230 def end_mapping end
Aufgerufen, wenn eine Zuordnung endet
Source
# File ext/psych/lib/psych/handler.rb, line 191 def end_sequence end
Aufgerufen, wenn eine Sequenz endet.
Source
# File ext/psych/lib/psych/handler.rb, line 241 def end_stream end
Aufgerufen, wenn der YAML-Stream endet
Source
# File ext/psych/lib/psych/handler.rb, line 246 def event_location(start_line, start_column, end_line, end_column) end
Vor jedem Ereignis mit Zeilen-/Spalteninformationen aufgerufen.
Source
# File ext/psych/lib/psych/handler.rb, line 150 def scalar value, anchor, tag, plain, quoted, style end
Aufgerufen, wenn ein skalarer value gefunden wird. Der Skalar kann einen anchor, einen tag haben, implizit plain oder implizit quoted sein
value ist der Zeichenkettenwert des Skalars anchor ist ein zugehöriger Anker oder nil tag ist ein zugehöriger Tag oder nil plain ist ein boolescher Wert quoted ist ein boolescher Wert style ist eine Ganzzahl, die den Zeichenkettenstil angibt
Siehe die Konstanten in Psych::Nodes::Scalar für die möglichen Werte von style
Beispiel
Hier ist ein YAML-Dokument, das die meisten möglichen Aufrufarten dieser Methode aufzeigt
--- - !str "foo" - &anchor fun - many lines - | many newlines
Das obige YAML-Dokument enthält eine Liste mit vier Zeichenketten. Hier sind die Parameter, die dieser Methode in derselben Reihenfolge übergeben werden
# value anchor tag plain quoted style ["foo", nil, "!str", false, false, 3 ] ["fun", "anchor", nil, true, false, 1 ] ["many lines", nil, nil, true, false, 1 ] ["many\nnewlines\n", nil, nil, false, true, 4 ]
Source
# File ext/psych/lib/psych/handler.rb, line 72 def start_document version, tag_directives, implicit end
Aufgerufen, wenn das Dokument mit der deklarierten version, tag_directives beginnt, falls das Dokument implicit ist.
version ist ein Array von Ganzzahlen, die die behandelte YAML-Version angeben, tag_directives ist eine Liste von Tupeln, die das Präfix und Suffix jedes Tags angeben, und implicit ist ein boolescher Wert, der angibt, ob das Dokument implizit gestartet wurde.
Beispiel
Gegeben sei folgendes YAML
%YAML 1.1 %TAG ! tag:tenderlovemaking.com,2009: --- !squee
Die Parameter für start_document müssen dies sein
version # => [1, 1] tag_directives # => [["!", "tag:tenderlovemaking.com,2009:"]] implicit # => false
Source
# File ext/psych/lib/psych/handler.rb, line 225 def start_mapping anchor, tag, implicit, style end
Aufgerufen, wenn eine Zuordnung beginnt.
anchor ist der der Zuordnung zugeordnete Anker oder nil. tag ist der der Zuordnung zugeordnete Tag oder nil. implicit ist ein boolescher Wert, der angibt, ob die Zuordnung implizit begonnen wurde. style ist eine Ganzzahl, die den Zuordnungsstil angibt.
Siehe die Konstanten in Psych::Nodes::Mapping für die möglichen Werte von style.
Beispiel
Hier ist ein YAML-Dokument, das die meisten möglichen Aufrufarten dieser Methode aufzeigt
---
k: !!map { hello: world }
v: &pewpew
hello: world
Das obige YAML-Dokument besteht aus drei Zuordnungen, einer äußeren Zuordnung, die zwei innere Zuordnungen enthält. Unten ist eine Matrix der Parameter, die in der Reihenfolge übergeben werden, um diese drei Zuordnungen darzustellen
# anchor tag implicit style [nil, nil, true, 1 ] [nil, "tag:yaml.org,2002:map", false, 2 ] ["pewpew", nil, true, 1 ]
Source
# File ext/psych/lib/psych/handler.rb, line 186 def start_sequence anchor, tag, implicit, style end
Aufgerufen, wenn eine Sequenz beginnt.
anchor ist der der Sequenz zugeordnete Anker oder nil. tag ist der der Sequenz zugeordnete Tag oder nil. implicit ein boolescher Wert, der angibt, ob die Sequenz implizit begonnen wurde. style ist eine Ganzzahl, die den Listenstil angibt.
Siehe die Konstanten in Psych::Nodes::Sequence für die möglichen Werte von style.
Beispiel
Hier ist ein YAML-Dokument, das die meisten möglichen Aufrufarten dieser Methode aufzeigt
--- - !!seq [ a ] - &pewpew - b
Das obige YAML-Dokument besteht aus drei Listen, einer äußeren Liste, die zwei innere Listen enthält. Hier ist eine Matrix der Parameter, die übergeben werden, um diese Listen darzustellen
# anchor tag implicit style [nil, nil, true, 1 ] [nil, "tag:yaml.org,2002:seq", false, 2 ] ["pewpew", nil, true, 1 ]
Source
# File ext/psych/lib/psych/handler.rb, line 47 def start_stream encoding end
Aufgerufen mit encoding, wenn der YAML-Stream beginnt. Diese Methode wird einmal pro Stream aufgerufen. Ein Stream kann mehrere Dokumente enthalten.
Siehe die Konstanten in Psych::Parser für die möglichen Werte von encoding.
Source
# File ext/psych/lib/psych/handler.rb, line 251 def streaming? false end
Ist dieser Handler ein Streaming-Handler?