Class: Serialbench::Serializers::Yaml::BaseYamlSerializer
- Inherits:
-
BaseSerializer
- Object
- BaseSerializer
- Serialbench::Serializers::Yaml::BaseYamlSerializer
- Defined in:
- lib/serialbench/serializers/yaml/base_yaml_serializer.rb
Overview
Base class for YAML serializers
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
-
#default_generation_options ⇒ Object
Default YAML generation options.
- #features ⇒ Object
-
#generate(object, options = {}) ⇒ Object
Generate YAML string from Ruby object.
-
#parse(yaml_string) ⇒ Object
Parse YAML string into Ruby object.
-
#stream_parse(yaml_string, &block) ⇒ Object
Stream parse YAML (if supported).
- #supports_generation? ⇒ Boolean
- #supports_streaming? ⇒ Boolean
Methods inherited from BaseSerializer
Constructor Details
This class inherits a constructor from Serialbench::Serializers::BaseSerializer
Class Method Details
.format ⇒ Object
10 11 12 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 10 def self.format :yaml end |
Instance Method Details
#default_generation_options ⇒ Object
Default YAML generation options
23 24 25 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 23 def {} end |
#features ⇒ Object
18 19 20 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 18 def features { streaming: supports_streaming? } end |
#generate(object, options = {}) ⇒ Object
Generate YAML string from Ruby object
33 34 35 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 33 def generate(object, = {}) raise NotImplementedError, 'Subclasses must implement generate method' end |
#parse(yaml_string) ⇒ Object
Parse YAML string into Ruby object
28 29 30 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 28 def parse(yaml_string) raise NotImplementedError, 'Subclasses must implement parse method' end |
#stream_parse(yaml_string, &block) ⇒ Object
Stream parse YAML (if supported)
38 39 40 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 38 def stream_parse(yaml_string, &block) raise NotImplementedError, 'Streaming not supported by this YAML serializer' end |
#supports_generation? ⇒ Boolean
42 43 44 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 42 def supports_generation? true end |
#supports_streaming? ⇒ Boolean
14 15 16 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 14 def supports_streaming? false # Most YAML parsers don't support streaming end |