Class: Serialbench::Serializers::Toml::BaseTomlSerializer
Class Method Summary
collapse
Instance Method Summary
collapse
#generate, #get_version, #initialize, #parse, #require_library, #stream_parse
Class Method Details
9
10
11
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 9
def self.format
:toml
end
|
Instance Method Details
#available? ⇒ Boolean
Check if the TOML library is available
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 63
def available?
return @available if defined?(@available)
@available = begin
require library_require_name
true
rescue LoadError
false
end
end
|
#features ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 23
def features
{
comments: ,
arrays_of_tables: supports_arrays_of_tables?,
inline_tables: supports_inline_tables?,
multiline_strings: supports_multiline_strings?
}
end
|
#generate_toml(object, options = {}) ⇒ Object
18
19
20
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 18
def generate_toml(object, options = {})
generate(object, options)
end
|
#library_require_name ⇒ Object
Subclasses should override this to specify their library name
58
59
60
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 58
def library_require_name
raise NotImplementedError, 'Subclasses must implement #library_require_name'
end
|
#parse_config(toml_string) ⇒ Object
14
15
16
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 14
def parse_config(toml_string)
parse(toml_string)
end
|
#supports_arrays_of_tables? ⇒ Boolean
45
46
47
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 45
def supports_arrays_of_tables?
true
end
|
41
42
43
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 41
def
false
end
|
#supports_generation? ⇒ Boolean
32
33
34
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 32
def supports_generation?
true
end
|
#supports_inline_tables? ⇒ Boolean
49
50
51
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 49
def supports_inline_tables?
true
end
|
#supports_multiline_strings? ⇒ Boolean
53
54
55
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 53
def supports_multiline_strings?
true
end
|
#supports_streaming? ⇒ Boolean
36
37
38
39
|
# File 'lib/serialbench/serializers/toml/base_toml_serializer.rb', line 36
def supports_streaming?
false
end
|