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
25 26 27 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 25 def {} end |
#features ⇒ Object
18 19 20 21 22 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 18 def features features = %w[parsing generation] features << 'streaming' if supports_streaming? features end |
#generate(object, options = {}) ⇒ Object
Generate YAML string from Ruby object
35 36 37 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 35 def generate(object, = {}) raise NotImplementedError, 'Subclasses must implement generate method' end |
#parse(yaml_string) ⇒ Object
Parse YAML string into Ruby object
30 31 32 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 30 def parse(yaml_string) raise NotImplementedError, 'Subclasses must implement parse method' end |
#stream_parse(yaml_string, &block) ⇒ Object
Stream parse YAML (if supported)
40 41 42 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 40 def stream_parse(yaml_string, &block) raise NotImplementedError, 'Streaming not supported by this YAML serializer' end |
#supports_generation? ⇒ Boolean
44 45 46 |
# File 'lib/serialbench/serializers/yaml/base_yaml_serializer.rb', line 44 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 |