Class: Serialbench::Serializers::Yaml::YeptrisSerializer
Instance Method Summary
collapse
#default_generation_options, #features, format
#get_version, #initialize, #require_library, #supports?
Instance Method Details
#available? ⇒ Boolean
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 32
def available?
return @available if defined?(@available)
@available = begin
require 'yeptris'
Yeptris::YAML.load('probe: true')
true
rescue StandardError, LoadError => e
warn "#{name} unavailable: #{e.class}: #{e.message}"
false
end
end
|
#capabilities ⇒ Object
28
29
30
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 28
def capabilities
super | Set.new(%i[streaming])
end
|
#generate(object, _options = {}) ⇒ Object
18
19
20
21
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 18
def generate(object, _options = {})
require 'yeptris'
Yeptris::YAML.dump(object)
end
|
#library_require_name ⇒ Object
52
53
54
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 52
def library_require_name
'yeptris'
end
|
#name ⇒ Object
9
10
11
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 9
def name
'yeptris-yaml'
end
|
#parse(yaml_string) ⇒ Object
13
14
15
16
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 13
def parse(yaml_string)
require 'yeptris'
Yeptris::YAML.load(yaml_string)
end
|
#stream_parse(yaml_string, &block) ⇒ Object
23
24
25
26
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 23
def stream_parse(yaml_string, &block)
require 'yeptris'
Yeptris::YAML.load_stream(yaml_string).each { |doc| block.call(:document, doc) }
end
|
#version ⇒ Object
45
46
47
48
49
50
|
# File 'lib/serialbench/serializers/yaml/yeptris_serializer.rb', line 45
def version
return 'unknown' unless available?
require 'yeptris'
Yeptris::VERSION
end
|