Class: Serialbench::Serializers::Json::YeptrisSerializer
Overview
Yeptris JSON side: parsing only — no dump in 0.2.x
Instance Method Summary
collapse
#features, format, #generate_json, #parse_object
#generate, #get_version, #initialize, #require_library, #stream_parse, #supports?
Instance Method Details
#available? ⇒ Boolean
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/serialbench/serializers/json/yeptris_serializer.rb', line 23
def available?
return @available if defined?(@available)
@available = begin
require 'yeptris'
Yeptris::JSON.load('{"probe":true}')
true
rescue StandardError, LoadError => e
warn "#{name} unavailable: #{e.class}: #{e.message}"
false
end
end
|
#capabilities ⇒ Object
19
20
21
|
# File 'lib/serialbench/serializers/json/yeptris_serializer.rb', line 19
def capabilities
Set.new(%i[dom parse])
end
|
#library_require_name ⇒ Object
43
44
45
|
# File 'lib/serialbench/serializers/json/yeptris_serializer.rb', line 43
def library_require_name
'yeptris'
end
|
#name ⇒ Object
10
11
12
|
# File 'lib/serialbench/serializers/json/yeptris_serializer.rb', line 10
def name
'yeptris-json'
end
|
#parse(json_string) ⇒ Object
14
15
16
17
|
# File 'lib/serialbench/serializers/json/yeptris_serializer.rb', line 14
def parse(json_string)
require 'yeptris'
Yeptris::JSON.load(json_string)
end
|
#version ⇒ Object
36
37
38
39
40
41
|
# File 'lib/serialbench/serializers/json/yeptris_serializer.rb', line 36
def version
return 'unknown' unless available?
require 'yeptris'
Yeptris::VERSION
end
|