Skip to content

Commit a7135c8

Browse files
makenowjustAry Borenszweig
authored and
Ary Borenszweig
committedDec 12, 2016
Allow to pass IO to from_yaml
1 parent a34f32f commit a7135c8

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed
 

‎spec/std/yaml/serialization_spec.cr

+5
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ describe "YAML serialization" do
4646
Array(Int32).from_yaml("---\n- 1\n- 2\n- 3\n").should eq([1, 2, 3])
4747
end
4848

49+
it "does Array#from_yaml from IO" do
50+
io = IO::Memory.new "---\n- 1\n- 2\n- 3\n"
51+
Array(Int32).from_yaml(io).should eq([1, 2, 3])
52+
end
53+
4954
it "does Array#from_yaml with block" do
5055
elements = [] of Int32
5156
Array(Int32).from_yaml("---\n- 1\n- 2\n- 3\n") do |element|

‎src/yaml/from_yaml.cr

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
def Object.from_yaml(string : String) : self
2-
YAML::PullParser.new(string) do |parser|
1+
def Object.from_yaml(string_or_io) : self
2+
YAML::PullParser.new(string_or_io) do |parser|
33
parser.read_stream do
44
parser.read_document do
55
new parser
@@ -8,8 +8,8 @@ def Object.from_yaml(string : String) : self
88
end
99
end
1010

11-
def Array.from_yaml(string : String)
12-
YAML::PullParser.new(string) do |parser|
11+
def Array.from_yaml(string_or_io)
12+
YAML::PullParser.new(string_or_io) do |parser|
1313
parser.read_stream do
1414
parser.read_document do
1515
new(parser) do |element|

0 commit comments

Comments
 (0)
Please sign in to comment.