5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/kamisaku/helpers.rb', line 5
def self.yaml_str_to_content_hash(yaml_str)
result = Psych.safe_load(yaml_str, symbolize_names: true, aliases: false, freeze: true)
raise Kamisaku::Error, "Unable to parse yaml content" unless result.is_a?(Hash)
result
rescue Psych::SyntaxError => error
raise Kamisaku::Error, "Syntax error at line #{error.line}"
rescue Psych::AliasesNotEnabled => _error
raise Kamisaku::Error, "Aliases are not enabled in yaml text"
rescue Psych::DisallowedClass
raise Kamisaku::Error, error.message
end
|