summaryrefslogtreecommitdiff
path: root/ext/psych/lib/psych/visitors
AgeCommit message (Collapse)Author
2021-10-24[ruby/psych] Prefer `require_relative` for internal requiresDavid Rodríguez
https://github.com/ruby/psych/commit/a0f55ee85a
2021-08-31[ruby/psych] Add quotes to the strings "y" and "n"Aaron Patterson
'y' and 'n' are kind of ambiguous. Syck treated y and n literals in YAML documents as strings. But this is not what the YAML 1.1 spec says. YAML 1.1 says they should be treated as booleans. When we're dumping documents, we know it's a string, so adding quotes will eliminate the "ambiguity" in the emitted document Fixes #443 https://github.com/ruby/psych/commit/6a1c30634e
2021-06-07[ruby/psych] Implement YAML.safe_dump to make safe_load more usable.Jean Boussier
In case where Psych is used as a two way serializers, e.g. to serialize some cache or config, it is preferable to have the same restrictions on both load and dump. Otherwise you might dump and persist some objects payloads that you later won't be able to read. https://github.com/ruby/psych/commit/441958396f
2021-05-17[ruby/psych] Fix symabolize_name with non-string keysJean Boussier
https://github.com/ruby/psych/commit/1c5c29e81f
2021-05-17[ruby/psych] feat: allow scalars and sequences to be styled when dumpedJeremy Ebler
https://github.com/ruby/psych/commit/546154ddb7
2021-05-10[ruby/psych] Fix custom marshalization with symbolize_names: trueJean Boussier
https://github.com/ruby/psych/commit/ee26f26ab5
2021-05-10[ruby/psych] Cache dispatch cache in an instance variableJean Boussier
https://github.com/ruby/psych/commit/285c461cd2
2021-05-10[ruby/psych] Cache access to Psych.load_tags in Visitor::ToRubyJean Boussier
https://github.com/ruby/psych/commit/58223f0426
2020-12-23[ruby/psych] Optimize cache with `compare_by_identity`Marc-Andre Lafortune
Using `compare_by_identity` gives a 4x performance boost on cache hits. Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189 Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-12-23[ruby/psych] Make Ractor-ready.Marc-Andre Lafortune
Config is Ractor-local. Benchmarking reveals that using `Ractor.local_storage` for storing cache is similar to accessing a constant (~15% slower). Notes: Merged: https://github.com/ruby/ruby/pull/3953
2020-09-25Remove private_iv_getCharles Oliver Nutter
The only remaining use of this function was to get the internal message object from an exception's hidden `mesg` instance variable to allow it to be dumped wiithout converting to a string. As discussed in #103, this exposes internal implementation details of CRuby, and ultimately does not provide any real utility to the user since they can't directly inspect this hidden variable. The test change here is to reflect CRuby behavior that denies equality if the internal message objects do not match, as is the case after the exception has been loaded and now has a simple String value. The impact to users is that exceptions with special hidden message objects will convert those objects to String during marshaling through YAML. I believe this only affects NameError and its descendants, since users can't set this field directly on their own exception types. Fixes #103.
2020-06-23[ruby/psych] Fix anchor lookup with symbolized namesJean Boussier
https://github.com/ruby/psych/commit/ef74fc01e2
2020-06-05[ruby/psych] Implement `freeze` option for Pysch.loadJean Boussier
https://github.com/ruby/psych/commit/7dae24894d Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Implement a freeze load optionJean Boussier
https://github.com/ruby/psych/commit/04f97f7a56 Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Refactor `symbolize_names`Jean Boussier
https://github.com/ruby/psych/commit/3e472ab2d7 Notes: Merged: https://github.com/ruby/ruby/pull/3188
2019-11-12[ruby/psych] Remove taint supportJeremy Evans
Ruby 2.7 deprecates taint and it no longer has an effect. The lack of taint support should not cause a problem in previous Ruby versions. I'm not sure if the untaint calls in deduplicate are still needed after the removal of tainting in the parser. If they are not needed, they should be removed. https://github.com/ruby/psych/commit/73c1a2b4e0
2019-07-25[ruby/psych] Deduplicate hash keys if they're stringsJean Boussier
https://github.com/ruby/psych/commit/0414982ffd
2019-06-25Dump Hash ivars before elementsAaron Patterson
When the Hash is revived, the ivars will be set before elements. This is for the case when the hash setter depends on ivars set on the hash.
2019-06-25Round trip exception backtracesAaron Patterson
This commit allows exception backtraces to round trip
2019-06-25Refactor exception dumpingAaron Patterson
2019-06-25Dumping the backtrace never worked, so remove itAaron Patterson
Dumping the backtrace for exceptions never worked, so lets remove it.
2017-12-01Merge psych-3.0.0.hsbt
See NEWS file for this update details. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-27Merge psych-3.0.0.beta4 from upstream.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-14Merge psych-3.0.0.beta3 from ruby/psych.hsbt
* Rely on encoding tags to determine if string should be dumped as binary. https://github.com/ruby/psych/commit/8949a47b8cee31e03e21608406ba116adcf74054 * Specify "frozen_string_literal: true". * Support to binary release for mingw32 platform. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-16Merge psych-3.0.0.beta2 from https://github.com/ruby/psychhsbt
It contains following changes from 3.0.0.beta1 * Preserve time zone offset when deserializing times https://github.com/ruby/psych/pull/316 * Enable YAML serialization of Ruby delegators https://github.com/ruby/psych/pull/158 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-05Import psych-3.0.0.beta1 from ruby/psych.hsbt
* Removed deprecated code. * Removed code related syck gem. * Fixed typos. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-07* ext/psych/*, test/psych/*: Update psych-2.1.1hsbt
This version fixed following pull requests. https://github.com/tenderlove/psych/pull/284 https://github.com/tenderlove/psych/pull/276 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-24* ext/psych/*, test/psych/*: Upate psych 2.1.0hsbt
This version fixed [Bug #11988][ruby-core:72850] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10stdlib: avoid extra calls to eliminate "\n" from Base64normal
We may use the '0' (zero) to avoid adding the line feed. Furthermore, the '*' (asterisk) modifier is not needed for a single-element arrays. * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): eliminate chomp * lib/net/http.rb (connect): eliminate delete * lib/net/http/header.rb (basic_encode): ditto * lib/net/imap.rb (authenticate): eliminate gsub (self.encode_utf7): shorten delete arg * lib/net/smtp.rb (base64_encode): eliminate gsub * lib/open-uri.rb (OpenURI.open_http): eliminate delete * lib/rss/rss.rb: ditto * lib/securerandom.rb (base64): ditto (urlsafe_base64): eliminate delete! * lib/webrick/httpauth/digestauth.rb (split_param_value): eliminate chop * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete (setup_upstream_proxy_authentication): ditto [ruby-core:72666] [Feature #11938] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16handle ext/ as r53141naruse
g -L frozen_string_literal ext/**/*.rb|xargs ruby -Ka -e'ARGV.each{|fn|puts fn;open(fn,"r+"){|f|s=f.read.sub(/\A(#!.*\n)?(#.*coding.*\n)?/,"\\&# frozen_string_literal: false\n");f.rewind;f.write s}}' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-07* ext/psych/*: update psych to 2.0.16tenderlove
* test/psych/*: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-02* ext/psych/*: merge psych master(8737e5b). It contains following fixes.hsbt
https://github.com/tenderlove/psych/pull/242 https://github.com/tenderlove/psych/pull/246 [ruby-list:50219] * test/psych/*: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-21* ext/psych/*: update to Psych 2.0.14tenderlove
* test/psych/*: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-06* ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes whentenderlove
dumping objects with custom coders. [ruby-core:66215] [Bug #10496] * test/psych/test_coder.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-06* ext/psych/lib/psych/visitors/to_ruby.rb: fix support for regulartenderlove
expressions with newlines. tenderlove/psych#222 * test/psych/test_yaml.rb: test for change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-28* ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes withtenderlove
instance variables when it is referenced multiple times. * ext/psych/lib/psych.rb: bump version * ext/psych/psych.gemspec: bump version * test/psych/test_hash.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-17yaml_tree.rb: fix anchornobu
* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): anchors like `\Z` are not valid inside character class. use negative-lookahead instead. Fixes: https://github.com/tenderlove/psych/issues/221 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-16* ext/psych/lib/psych/visitors/yaml_tree.rb: only dump hashtenderlove
subclasses. Thanks Joe Eli McIlvain <joe.eli.mac@gmail.com> * test/psych/test_hash.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-16* ext/psych/lib/psych.rb: bump versiontenderlove
* ext/psych/lib/psych/visitors/yaml_tree.rb: fix line width wrapping for long strings. Thanks Jakub Jirutka <jakub@jirutka.cz> * test/psych/test_string.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-08* ext/psych/lib/psych/visitors/yaml_tree.rb: correctly quote non-asciitenderlove
letters. Thanks @jirutka for the patch. * test/psych/test_string.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-08* ext/psych/lib/psych/visitors/to_ruby.rb: call `allocate` on hashtenderlove
subclasses. Fixes github.com/tenderlove/psych/issues/196 * test/psych/test_hash.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-08* ext/psych/lib/psych/visitors/to_ruby.rb: revive hashes with ivarstenderlove
* ext/psych/lib/psych/visitors/yaml_tree.rb: dump hashes with ivars. Fixes github.com/psych/issues/43 * test/psych/test_hash.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01* ext/psych/lib/psych/visitors/to_ruby.rb: support objects that aretenderlove
marshalable, but inherit from basic object. Thanks Sean Griffin <sean@thoughtbot.com> * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto * test/psych/test_marshalable.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29* ext/psych/lib/psych/visitors/yaml_tree.rb: fix NameError dumping andtenderlove
loading. Fixes GH #85. Thanks @brentdax for the patch! * test/psych/test_exception.rb: test for fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29* ext/psych/lib/psych/visitors/to_ruby.rb: merge keys with a hashtenderlove
should merge the hash in to the parent. * test/psych/test_merge_keys.rb: test for change. Fixes GH #202 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29* ext/psych/lib/psych/visitors/to_ruby.rb: quoted "<<" stringstenderlove
should not be treated as merge keys. * ext/psych/lib/psych/visitors/yaml_tree.rb: hashes with keys containing "<<" should roundtrip. * test/psych/test_merge_keys.rb: test for change. Fixes GH #203 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-05* ext/psych/lib/psych/visitors/to_ruby.rb: backwards compatibility fortenderlove
hashes emitted by Syck. Github #198 * test/psych/test_hash.rb: test for change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-05* ext/psych/lib/psych/visitors/yaml_tree.rb: dump empty symbols with atenderlove
tag so that they can be parsed on input. [Bug #9873] [ruby-core:62825] * test/psych/test_symbol.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-01* ext/psych/lib/psych/visitors/yaml_tree.rb: support dumping Encodingtenderlove
objects. * ext/psych/lib/psych/visitors/to_ruby.rb: support loading Encoding objects. * test/psych/test_encoding.rb: add test * ext/psych/lib/psych.rb: add version git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09* ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings withtenderlove
quotes should not have changed. [ruby-core:59316] [Bug #9300] * ext/psych/lib/psych.rb: fixed missing require. * test/psych/test_string.rb: test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e