Bug #4401 » 0002-psych-visitors-yaml_tree.rb-skip-warning-when-excpt-.patch
ext/psych/lib/psych/visitors/yaml_tree.rb | ||
---|---|---|
end
|
||
if target.respond_to?(:to_yaml)
|
||
loc = target.public_method(:to_yaml).source_location.first
|
||
if loc !~ /(syck\/rubytypes.rb|psych\/core_ext.rb)/
|
||
unless target.respond_to?(:encode_with)
|
||
if $VERBOSE
|
||
warn "implementing to_yaml is deprecated, please implement \"encode_with\""
|
||
begin
|
||
loc = target.public_method(:to_yaml).source_location.first
|
||
if loc !~ /(syck\/rubytypes.rb|psych\/core_ext.rb)/
|
||
unless target.respond_to?(:encode_with)
|
||
if $VERBOSE
|
||
warn "implementing to_yaml is deprecated, please implement \"encode_with\""
|
||
end
|
||
target.to_yaml(:nodump => true)
|
||
end
|
||
target.to_yaml(:nodump => true)
|
||
end
|
||
rescue
|
||
# public_method or source_location might be overridden,
|
||
# and it's OK to skip it since it's only to emit a warning.
|
||
end
|
||
end
|
||
... | ... | |
# FIXME: remove this method once "to_yaml_properties" is removed
|
||
def find_ivars target
|
||
loc = target.public_method(:to_yaml_properties).source_location.first
|
||
unless loc.start_with?(Psych::DEPRECATED) || loc.end_with?('rubytypes.rb')
|
||
if $VERBOSE
|
||
warn "#{loc}: to_yaml_properties is deprecated, please implement \"encode_with(coder)\""
|
||
begin
|
||
loc = target.public_method(:to_yaml_properties).source_location.first
|
||
unless loc.start_with?(Psych::DEPRECATED) || loc.end_with?('rubytypes.rb')
|
||
if $VERBOSE
|
||
warn "#{loc}: to_yaml_properties is deprecated, please implement \"encode_with(coder)\""
|
||
end
|
||
return target.to_yaml_properties
|
||
end
|
||
return target.to_yaml_properties
|
||
rescue
|
||
# public_method or source_location might be overridden,
|
||
# and it's OK to skip it since it's only to emit a warning.
|
||
end
|
||
target.instance_variables
|
- « Previous
- 1
- 2
- Next »