class ActiveRecord::Coders::YAMLColumn::SafeCoder
Public class methods
Source code GitHub
# File activerecord/lib/active_record/coders/yaml_column.rb, line 9
def initialize(permitted_classes: [], unsafe_load: nil)
@permitted_classes = permitted_classes
@unsafe_load = unsafe_load
end
Public instance methods
Source code GitHub
# File activerecord/lib/active_record/coders/yaml_column.rb, line 15
def dump(object)
if @unsafe_load.nil? ? ActiveRecord.use_yaml_unsafe_load : @unsafe_load
::YAML.dump(object)
else
::YAML.safe_dump(
object,
permitted_classes: @permitted_classes + ActiveRecord.yaml_column_permitted_classes,
aliases: true,
)
end
end
Source code GitHub
# File activerecord/lib/active_record/coders/yaml_column.rb, line 33
def load(payload)
if @unsafe_load.nil? ? ActiveRecord.use_yaml_unsafe_load : @unsafe_load
YAML.unsafe_load(payload)
else
YAML.safe_load(
payload,
permitted_classes: @permitted_classes + ActiveRecord.yaml_column_permitted_classes,
aliases: true,
)
end
end