Sha256: 229cafbe54f1aa1792e337ab8e28173a7c88b9f12d7dd7a5141e91b5bfc2a33d
Contents?: true
Size: 1.06 KB
Versions: 5
Compression:
Stored size: 1.06 KB
Contents
class Module yaml_as 'tag:ruby.yaml.org,2002:module' def self.yaml_new(_klass, _tag, val) val.constantize end def to_yaml(options = {}) YAML.quick_emit(nil, options) do |out| out.scalar(taguri, name, :plain) end end def yaml_tag_read_class(name) # Constantize the object so that ActiveSupport can attempt # its auto loading magic. Will raise LoadError if not successful. name.constantize name end end class Class yaml_as 'tag:ruby.yaml.org,2002:class' remove_method :to_yaml if respond_to?(:to_yaml) && method(:to_yaml).owner == Class # use Module's to_yaml end class Struct def self.yaml_tag_read_class(name) # Constantize the object so that ActiveSupport can attempt # its auto loading magic. Will raise LoadError if not successful. name.constantize "Struct::#{name}" end end module YAML def load_dj(yaml) # See https://github.com/dtao/safe_yaml # When the method is there, we need to load our YAML like this... respond_to?(:unsafe_load) ? load(yaml, :safe => false) : load(yaml) end end
Version data entries
5 entries across 5 versions & 2 rubygems