psych-simple 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.
- checksums.yaml +7 -0
- data/lib/psych/simple.rb +63 -0
- metadata +100 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 95f2a708d81448dd3cf14c03a92562315ff9710d
|
4
|
+
data.tar.gz: 24b00f2d1e0ba113cd22a1c6a179755f643c0eb1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2238f24b376985311123c0ba141022beadc9709cbd99e70f4413feeba013cf4142dcd59a98aca90e8eb39ca29bba68fa8074abaa2f9a1cdf69349b8abf77ccc7
|
7
|
+
data.tar.gz: e1a6895151ab45dcab7eb1bc317a17d0e8da89a5ba65df37a66e047e9fd4ee6b8bb2cde77d1260f7f61304a9d9088dac76bc97494339c9869ef8621c35962a61
|
data/lib/psych/simple.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'psych'
|
2
|
+
|
3
|
+
module Psych
|
4
|
+
def self.simple_load(yaml, filename = nil)
|
5
|
+
parser = Parser.new(SimpleHandler.new)
|
6
|
+
parser.parse yaml, filename
|
7
|
+
parser.handler.document
|
8
|
+
end
|
9
|
+
|
10
|
+
class SimpleHandler
|
11
|
+
attr_reader :document
|
12
|
+
|
13
|
+
def start_stream(encoding)
|
14
|
+
@stack = Array.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def end_stream
|
18
|
+
raise unless @stack.empty?
|
19
|
+
end
|
20
|
+
|
21
|
+
def start_document version, tag_directives, implicit
|
22
|
+
raise unless tag_directives.empty?
|
23
|
+
@stack.push Array.new
|
24
|
+
end
|
25
|
+
|
26
|
+
def end_document(implicit)
|
27
|
+
@document = @stack.pop.last
|
28
|
+
end
|
29
|
+
|
30
|
+
def start_mapping(anchor, tag, implicit, style)
|
31
|
+
raise if anchor or tag
|
32
|
+
@stack.push(Array.new)
|
33
|
+
end
|
34
|
+
|
35
|
+
def end_mapping
|
36
|
+
mapping = Hash[*@stack.pop]
|
37
|
+
@stack.last << mapping
|
38
|
+
end
|
39
|
+
|
40
|
+
def start_sequence(anchor, tag, implicit, style)
|
41
|
+
raise if anchor or tag
|
42
|
+
@stack.push(Array.new)
|
43
|
+
end
|
44
|
+
|
45
|
+
def end_sequence
|
46
|
+
sequence = @stack.pop
|
47
|
+
@stack.last << sequence
|
48
|
+
end
|
49
|
+
|
50
|
+
def scalar(value, anchor, tag, plain, quoted, style)
|
51
|
+
raise if anchor or tag
|
52
|
+
@stack.last << value
|
53
|
+
end
|
54
|
+
|
55
|
+
def alias(anchor)
|
56
|
+
raise
|
57
|
+
end
|
58
|
+
|
59
|
+
def empty
|
60
|
+
raise
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
metadata
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: psych-simple
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Adrian Kuhn
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-07-23 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: psych
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.14'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.14'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
description:
|
70
|
+
email:
|
71
|
+
- adrian.kuhn@airbnb.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- lib/psych/simple.rb
|
77
|
+
homepage: https://github.com/akuhn/psych-simple
|
78
|
+
licenses: []
|
79
|
+
metadata: {}
|
80
|
+
post_install_message:
|
81
|
+
rdoc_options: []
|
82
|
+
require_paths:
|
83
|
+
- lib
|
84
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
requirements: []
|
95
|
+
rubyforge_project:
|
96
|
+
rubygems_version: 2.6.10
|
97
|
+
signing_key:
|
98
|
+
specification_version: 4
|
99
|
+
summary: Parse yaml 5x faster, simplified file format.
|
100
|
+
test_files: []
|