Module: Serialbench::Serializers
- Defined in:
- lib/serialbench/serializers.rb,
lib/serialbench/serializers/base_serializer.rb,
lib/serialbench/serializers/xml/ox_serializer.rb,
lib/serialbench/serializers/json/oj_serializer.rb,
lib/serialbench/serializers/xml/oga_serializer.rb,
lib/serialbench/serializers/json/json_serializer.rb,
lib/serialbench/serializers/json/yajl_serializer.rb,
lib/serialbench/serializers/xml/rexml_serializer.rb,
lib/serialbench/serializers/yaml/syck_serializer.rb,
lib/serialbench/serializers/xml/libxml_serializer.rb,
lib/serialbench/serializers/yaml/psych_serializer.rb,
lib/serialbench/serializers/toml/tomlib_serializer.rb,
lib/serialbench/serializers/toml/tomlrb_serializer.rb,
lib/serialbench/serializers/toml/toml_rb_serializer.rb,
lib/serialbench/serializers/xml/base_xml_serializer.rb,
lib/serialbench/serializers/xml/nokogiri_serializer.rb,
lib/serialbench/serializers/json/base_json_serializer.rb,
lib/serialbench/serializers/json/rapidjson_serializer.rb,
lib/serialbench/serializers/toml/base_toml_serializer.rb,
lib/serialbench/serializers/yaml/base_yaml_serializer.rb
Defined Under Namespace
Modules: Json, Toml, Xml, Yaml
Classes: BaseSerializer
Constant Summary
collapse
- REGISTER =
Registry of all available serializers
{
xml: [
Xml::RexmlSerializer,
Xml::OxSerializer,
Xml::NokogiriSerializer,
Xml::OgaSerializer,
Xml::LibxmlSerializer
],
json: [
Json::JsonSerializer,
Json::OjSerializer,
Json::RapidjsonSerializer,
Json::YajlSerializer
],
yaml: [
Yaml::PsychSerializer,
Yaml::SyckSerializer
],
toml: [
Toml::TomlRbSerializer,
Toml::TomlibSerializer,
Toml::TomlrbSerializer
]
}.freeze
Class Method Summary
collapse
Class Method Details
.all ⇒ Object
60
61
62
|
# File 'lib/serialbench/serializers.rb', line 60
def self.all
REGISTER.values.flatten.map(&:instance)
end
|
.available ⇒ Object
86
87
88
|
# File 'lib/serialbench/serializers.rb', line 86
def self.available
all.select(&:available?)
end
|
82
83
84
|
# File 'lib/serialbench/serializers.rb', line 82
def self.available_for_format(format)
for_format(format).select(&:available?)
end
|
64
65
66
|
# File 'lib/serialbench/serializers.rb', line 64
def self.for_format(format)
REGISTER[format.to_sym]&.map(&:instance) || []
end
|
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/serialbench/serializers.rb', line 68
def self.information
return @information if @information
@information = available.map do |serializer_singleton|
Models::SerializerInformation.new(
name: serializer_singleton.name,
format: serializer_singleton.format.to_s,
version: serializer_singleton.version
)
end
@information
end
|