syck 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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