Class: PagerTree::Integrations::FormatConverters::YamlJsonConverter
- Inherits:
-
Object
- Object
- PagerTree::Integrations::FormatConverters::YamlJsonConverter
show all
- Defined in:
- lib/pager_tree/integrations/format_converters/yaml_json_converter.rb
Defined Under Namespace
Classes: InvalidFormatError
Class Method Summary
collapse
Class Method Details
.convert_to_json(str, pretty: true) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/pager_tree/integrations/format_converters/yaml_json_converter.rb', line 12
def convert_to_json(str, pretty: true)
format = detect_format(str)
case format
when :json
data = JSON.parse(str)
pretty ? JSON.pretty_generate(data) : data.to_json
when :yaml
data = YAML.safe_load(str)
pretty ? JSON.pretty_generate(data) : data.to_json
else
raise InvalidFormatError, "Input is neither valid JSON nor YAML"
end
end
|
.convert_to_yaml(str) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/pager_tree/integrations/format_converters/yaml_json_converter.rb', line 27
def convert_to_yaml(str)
format = detect_format(str)
case format
when :json
data = JSON.parse(str)
data.to_yaml
when :yaml
data = YAML.safe_load(str)
data.to_yaml
else
raise InvalidFormatError, "Input is neither valid JSON nor YAML"
end
end
|
42
43
44
45
46
|
# File 'lib/pager_tree/integrations/format_converters/yaml_json_converter.rb', line 42
def detect_format(str)
return :json if json?(str)
return :yaml if yaml?(str)
:unknown
end
|