Fix up Rubinius specific library specs.
[rbx.git] / lib / rbyaml / events.rb
blob2db0303f895ed100695bc018b0161130c3bcd6c4
1 module RbYAML
2   class Event
3     def hash
4       object_id
5     end
6     def to_s
7       attributes = ["@anchor","@tag","@implicit","@value"] & self.instance_variables
8       args = attributes.collect {|val| "#{val[1..-1]}=" + eval("#{val}").to_s}.join(", ")
9       "#{self.class.name}(#{args})"
10     end
11     def __is_node; false; end
12     def __is_collection_start; false; end
13     def __is_collection_end; false; end
14     def __is_stream_start; false; end
15     def __is_stream_end; false; end
16     def __is_document_start; false; end
17     def __is_document_end; false; end
18     def __is_alias; false; end
19     def __is_scalar; false; end
20     def __is_sequence_start; false; end
21     def __is_sequence_end; false; end
22     def __is_mapping_start; false; end
23     def __is_mapping_end; false; end
24   end
25   
26   class NodeEvent < Event
27     attr_reader :anchor
28     def initialize(anchor)
29       @anchor = anchor
30     end
31     def __is_node; true; end
32   end
34   class CollectionStartEvent < NodeEvent
35     attr_reader :tag, :implicit, :flow_style
36     def initialize(anchor,tag,implicit,flow_style=nil)
37       super(anchor)
38       @tag = tag
39       @implicit = implicit
40       @flow_style = flow_style        
41     end
42     def __is_collection_start; true; end
43   end
45   class CollectionEndEvent < Event
46     def __is_collection_end; true; end
47   end
49   class StreamStartEvent < Event
50     attr_reader :encoding
51     def initialize(encoding=nil)
52       @encoding = encoding
53     end
54     def __is_stream_start; true; end
55   end
57   class StreamEndEvent < Event
58     def __is_stream_end; true; end
59   end
61   class DocumentStartEvent < Event
62     attr_reader :explicit, :version, :tags
63     def initialize(explicit=nil,version=nil,tags=nil)
64       @explicit = explicit
65       @version = version
66       @tags = tags
67     end
68     def __is_document_start; true; end
69   end
71   class DocumentEndEvent < Event
72     attr_reader :explicit
73     def initialize(explicit=nil)
74       @explicit = explicit
75     end
76     def __is_document_end; true; end
77   end
79   class AliasEvent < NodeEvent
80     def __is_alias; true; end
81   end
83   class ScalarEvent < NodeEvent
84     attr_reader :tag, :style, :value, :implicit
85     def initialize(anchor,tag,implicit,value,style=nil)
86       super(anchor)
87       @tag = tag
88       @style = style
89       @value = value
90       @implicit = implicit
91     end
92     def __is_scalar; true; end
93   end
95   class SequenceStartEvent < CollectionStartEvent
96     def __is_sequence_start; true; end
97   end
99   class SequenceEndEvent < CollectionEndEvent
100     def __is_sequence_end; true; end
101   end
103   class MappingStartEvent < CollectionStartEvent
104     def __is_mapping_start; true; end
105   end
107   class MappingEndEvent < CollectionEndEvent
108     def __is_mapping_end; true; end
109   end