Method: FormCore::YAMLCoder#load
- Defined in:
- lib/form_core/coders/yaml_coder.rb
#load(yaml) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/form_core/coders/yaml_coder.rb', line 23 def load(yaml) return object_class.new if yaml.blank? return new_or_raise_decoding_error unless yaml.is_a?(String) && /^---/.match?(yaml) decoded = if safe_mode? YAML.safe_load(yaml, YAMLCoder.whitelist_classes) else YAML.safe_load(yaml) end return new_or_raise_decoding_error unless decoded.is_a? Hash object_class.new valid_attributes(decoded) end |