syck 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. data/.autotest.erb +8 -0
  2. data/.gemtest +0 -0
  3. data/CHANGELOG.rdoc +6 -0
  4. data/Manifest.txt +52 -0
  5. data/README.rdoc +51 -0
  6. data/Rakefile +32 -0
  7. data/ext/syck/bytecode.c +1165 -0
  8. data/ext/syck/emitter.c +1247 -0
  9. data/ext/syck/extconf.h +3 -0
  10. data/ext/syck/extconf.rb +5 -0
  11. data/ext/syck/gram.c +1894 -0
  12. data/ext/syck/gram.h +79 -0
  13. data/ext/syck/handler.c +173 -0
  14. data/ext/syck/implicit.c +2990 -0
  15. data/ext/syck/node.c +407 -0
  16. data/ext/syck/rubyext.c +2328 -0
  17. data/ext/syck/syck.c +524 -0
  18. data/ext/syck/syck.h +453 -0
  19. data/ext/syck/token.c +2724 -0
  20. data/ext/syck/yaml2byte.c +259 -0
  21. data/ext/syck/yamlbyte.h +171 -0
  22. data/lib/syck.bundle +0 -0
  23. data/lib/syck.rb +447 -0
  24. data/lib/syck/baseemitter.rb +242 -0
  25. data/lib/syck/basenode.rb +222 -0
  26. data/lib/syck/constants.rb +45 -0
  27. data/lib/syck/encoding.rb +35 -0
  28. data/lib/syck/error.rb +34 -0
  29. data/lib/syck/loader.rb +14 -0
  30. data/lib/syck/rubytypes.rb +450 -0
  31. data/lib/syck/stream.rb +41 -0
  32. data/lib/syck/stringio.rb +85 -0
  33. data/lib/syck/syck.rb +16 -0
  34. data/lib/syck/tag.rb +95 -0
  35. data/lib/syck/types.rb +192 -0
  36. data/lib/syck/yamlnode.rb +54 -0
  37. data/lib/syck/ypath.rb +54 -0
  38. data/lib/yaml/syck.rb +14 -0
  39. data/test/helper.rb +2 -0
  40. data/test/test_array.rb +13 -0
  41. data/test/test_boolean.rb +36 -0
  42. data/test/test_class.rb +11 -0
  43. data/test/test_exception.rb +45 -0
  44. data/test/test_hash.rb +24 -0
  45. data/test/test_null.rb +19 -0
  46. data/test/test_omap.rb +55 -0
  47. data/test/test_set.rb +30 -0
  48. data/test/test_string.rb +44 -0
  49. data/test/test_struct.rb +32 -0
  50. data/test/test_symbol.rb +21 -0
  51. data/test/test_time.rb +23 -0
  52. data/test/test_yaml.rb +1403 -0
  53. data/test/test_yaml_properties.rb +63 -0
  54. metadata +187 -0
@@ -0,0 +1,63 @@
1
+ require 'helper'
2
+
3
+ module Syck
4
+ class TestYamlProperties < Test::Unit::TestCase
5
+ class Foo
6
+ attr_reader :a, :b, :c
7
+ def initialize
8
+ @a = 1
9
+ @b = 2
10
+ @c = 3
11
+ end
12
+
13
+ def to_yaml_properties
14
+ [:@a, :@b]
15
+ end
16
+ end
17
+
18
+ def test_object_dump_yaml_properties
19
+ foo = Syck.load(Syck.dump(Foo.new))
20
+ assert_equal 1, foo.a
21
+ assert_equal 2, foo.b
22
+ assert_nil foo.c
23
+ end
24
+
25
+ class Bar < Struct.new(:foo, :bar)
26
+ attr_reader :baz
27
+ def initialize *args
28
+ super
29
+ @baz = 'hello'
30
+ end
31
+
32
+ def to_yaml_properties
33
+ []
34
+ end
35
+ end
36
+
37
+ def test_struct_dump_yaml_properties
38
+ bar = Syck.load(Syck.dump(Bar.new('a', 'b')))
39
+ assert_equal 'a', bar.foo
40
+ assert_equal 'b', bar.bar
41
+ assert_nil bar.baz
42
+ end
43
+
44
+ def test_string_dump
45
+ string = "okonomiyaki"
46
+ class << string
47
+ def to_yaml_properties
48
+ [:@tastes]
49
+ end
50
+ end
51
+
52
+ string.instance_variable_set(:@tastes, 'delicious')
53
+ v = Syck.load Syck.dump string
54
+ assert_equal 'delicious', v.instance_variable_get(:@tastes)
55
+ end
56
+
57
+ def test_string_load
58
+ str = Syck.load("--- !str \nstr: okonomiyaki\n:@tastes: delicious\n")
59
+ assert_equal 'okonomiyaki', str
60
+ assert_equal 'delicious', str.instance_variable_get(:@tastes)
61
+ end
62
+ end
63
+ end
metadata ADDED
@@ -0,0 +1,187 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: syck
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Aaron Patterson
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: minitest
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.5'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.5'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rdoc
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '3.10'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '3.10'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake-compiler
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 0.4.1
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.4.1
62
+ - !ruby/object:Gem::Dependency
63
+ name: hoe
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '3.0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '3.0'
78
+ description: ! 'A gemified version of Syck from Ruby''s stdlib. Syck has been removed
79
+ from
80
+
81
+ Ruby''s stdlib, and this gem is meant to bridge the gap for people that haven''t
82
+
83
+ updated their YAML yet.'
84
+ email:
85
+ - aaron@tenderlovemaking.com
86
+ executables: []
87
+ extensions:
88
+ - ext/syck/extconf.rb
89
+ extra_rdoc_files:
90
+ - CHANGELOG.rdoc
91
+ - Manifest.txt
92
+ - README.rdoc
93
+ files:
94
+ - .autotest.erb
95
+ - CHANGELOG.rdoc
96
+ - Manifest.txt
97
+ - README.rdoc
98
+ - Rakefile
99
+ - ext/syck/bytecode.c
100
+ - ext/syck/emitter.c
101
+ - ext/syck/extconf.h
102
+ - ext/syck/extconf.rb
103
+ - ext/syck/gram.c
104
+ - ext/syck/gram.h
105
+ - ext/syck/handler.c
106
+ - ext/syck/implicit.c
107
+ - ext/syck/node.c
108
+ - ext/syck/rubyext.c
109
+ - ext/syck/syck.c
110
+ - ext/syck/syck.h
111
+ - ext/syck/token.c
112
+ - ext/syck/yaml2byte.c
113
+ - ext/syck/yamlbyte.h
114
+ - lib/syck.bundle
115
+ - lib/syck.rb
116
+ - lib/syck/baseemitter.rb
117
+ - lib/syck/basenode.rb
118
+ - lib/syck/constants.rb
119
+ - lib/syck/encoding.rb
120
+ - lib/syck/error.rb
121
+ - lib/syck/loader.rb
122
+ - lib/syck/rubytypes.rb
123
+ - lib/syck/stream.rb
124
+ - lib/syck/stringio.rb
125
+ - lib/syck/syck.rb
126
+ - lib/syck/tag.rb
127
+ - lib/syck/types.rb
128
+ - lib/syck/yamlnode.rb
129
+ - lib/syck/ypath.rb
130
+ - lib/yaml/syck.rb
131
+ - test/helper.rb
132
+ - test/test_array.rb
133
+ - test/test_boolean.rb
134
+ - test/test_class.rb
135
+ - test/test_exception.rb
136
+ - test/test_hash.rb
137
+ - test/test_null.rb
138
+ - test/test_omap.rb
139
+ - test/test_set.rb
140
+ - test/test_string.rb
141
+ - test/test_struct.rb
142
+ - test/test_symbol.rb
143
+ - test/test_time.rb
144
+ - test/test_yaml.rb
145
+ - test/test_yaml_properties.rb
146
+ - .gemtest
147
+ homepage: http://github.com/tenderlove/syck
148
+ licenses: []
149
+ post_install_message:
150
+ rdoc_options:
151
+ - --main
152
+ - README.rdoc
153
+ require_paths:
154
+ - lib
155
+ required_ruby_version: !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: 2.0.0
161
+ required_rubygems_version: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ requirements: []
168
+ rubyforge_project: syck
169
+ rubygems_version: 1.8.24
170
+ signing_key:
171
+ specification_version: 3
172
+ summary: A gemified version of Syck from Ruby's stdlib
173
+ test_files:
174
+ - test/test_array.rb
175
+ - test/test_boolean.rb
176
+ - test/test_class.rb
177
+ - test/test_exception.rb
178
+ - test/test_hash.rb
179
+ - test/test_null.rb
180
+ - test/test_omap.rb
181
+ - test/test_set.rb
182
+ - test/test_string.rb
183
+ - test/test_struct.rb
184
+ - test/test_symbol.rb
185
+ - test/test_time.rb
186
+ - test/test_yaml.rb
187
+ - test/test_yaml_properties.rb