Class: ActiveVersion::Audits::AuditRecord::Serializers::Yaml

Inherits:
Object
  • Object
show all
Defined in:
lib/active_version/audits/audit_record/serializers.rb

Constant Summary collapse

PERMITTED_CLASSES =
[Time, Date, DateTime, Symbol].freeze

Instance Method Summary collapse

Instance Method Details

#dump(value) ⇒ Object



42
43
44
# File 'lib/active_version/audits/audit_record/serializers.rb', line 42

def dump(value)
  value.to_yaml
end

#load(value) ⇒ Object



33
34
35
36
37
38
39
40
# File 'lib/active_version/audits/audit_record/serializers.rb', line 33

def load(value)
  return {} if value.nil?
  return value unless value.is_a?(String)

  YAML.safe_load(value, permitted_classes: PERMITTED_CLASSES, aliases: false)
rescue Psych::SyntaxError, Psych::DisallowedClass, Psych::AliasesNotEnabled, ArgumentError
  value
end