Class: Serialbench::Serializers::Yaml::PsychSerializer
Overview
Psych YAML serializer - Ruby’s built-in YAML parser
Instance Method Summary
collapse
#default_generation_options, format, #stream_parse, #supports_generation?, #supports_streaming?
#get_version, #initialize, #stream_parse, #supports_streaming?
Instance Method Details
#available? ⇒ Boolean
10
11
12
|
# File 'lib/serialbench/serializers/yaml/psych_serializer.rb', line 10
def available?
require_library('psych')
end
|
#features ⇒ Object
39
40
41
|
# File 'lib/serialbench/serializers/yaml/psych_serializer.rb', line 39
def features
%w[parsing generation built-in]
end
|
#generate(object, _options = {}) ⇒ Object
34
35
36
37
|
# File 'lib/serialbench/serializers/yaml/psych_serializer.rb', line 34
def generate(object, _options = {})
require 'psych'
Psych.dump(object)
end
|
#name ⇒ Object
14
15
16
|
# File 'lib/serialbench/serializers/yaml/psych_serializer.rb', line 14
def name
'psych'
end
|
#parse(yaml_string) ⇒ Object
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/serialbench/serializers/yaml/psych_serializer.rb', line 23
def parse(yaml_string)
require 'psych'
if RUBY_VERSION >= '3.1.0'
Psych.load(yaml_string, permitted_classes: [Date, Time, Symbol])
else
Psych.load(yaml_string)
end
end
|
#version ⇒ Object
18
19
20
21
|
# File 'lib/serialbench/serializers/yaml/psych_serializer.rb', line 18
def version
require 'psych'
Psych::VERSION
end
|