Class: Serialbench::Serializers::Json::RapidjsonSerializer
Overview
RapidJSON serializer - Ruby bindings for RapidJSON C++ library
Instance Method Summary
collapse
format, #generate_json, #library_require_name, #parse_object, #supports_custom_types?, #supports_generation?, #supports_pretty_print?, #supports_symbol_keys?
#get_version, #initialize, #stream_parse, #supports_streaming?
Instance Method Details
#available? ⇒ Boolean
10
11
12
|
# File 'lib/serialbench/serializers/json/rapidjson_serializer.rb', line 10
def available?
require_library('rapidjson')
end
|
#features ⇒ Object
35
36
37
|
# File 'lib/serialbench/serializers/json/rapidjson_serializer.rb', line 35
def features
%w[parsing generation high-performance c-extension]
end
|
#generate(object, _options = {}) ⇒ Object
30
31
32
33
|
# File 'lib/serialbench/serializers/json/rapidjson_serializer.rb', line 30
def generate(object, _options = {})
require 'rapidjson'
RapidJSON.dump(object)
end
|
#name ⇒ Object
14
15
16
|
# File 'lib/serialbench/serializers/json/rapidjson_serializer.rb', line 14
def name
'rapidjson'
end
|
#parse(json_string) ⇒ Object
25
26
27
28
|
# File 'lib/serialbench/serializers/json/rapidjson_serializer.rb', line 25
def parse(json_string)
require 'rapidjson'
RapidJSON.parse(json_string)
end
|
#version ⇒ Object
18
19
20
21
22
23
|
# File 'lib/serialbench/serializers/json/rapidjson_serializer.rb', line 18
def version
require 'rapidjson'
RapidJSON::VERSION
rescue StandardError
'unknown'
end
|