Commit graph

142 commits

Author SHA1 Message Date
tenderlove
30d957fc61 * ext/psych/lib/psych.rb: updated to released version.
* ext/psych/psych.gemspec: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-31 01:37:06 +00:00
tenderlove
1ec93d92c7 * ext/psych/emitter.c (initialize): allow a configuration object to be
passed to the constructor so that mutation isn't required after
  instantiation.

* ext/psych/lib/psych/handler.rb: add configuration object

* ext/psych/lib/psych/visitors/emitter.rb: use configuration object if
  extra configuration is present.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-19 00:36:42 +00:00
tenderlove
7d1f53e782 * ext/psych/lib/psych/visitors/to_ruby.rb: strings with YAML anchors
are properly referenced. Patched by Joe Rafaniello via Github:
    https://github.com/tenderlove/psych/pull/69
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
* test/psych/test_alias_and_anchor.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-16 19:00:59 +00:00
tenderlove
eac2646327 * ext/psych/lib/psych.rb: bumping psych to 1.3.3
* ext/psych/psych.gemspec: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-15 16:29:55 +00:00
kosaki
2e4645ca16 * ext/psych/extconf.rb: Use an exception instaed of bare abort.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-18 07:02:39 +00:00
tenderlove
4a7add1a74 * ext/psych/parser.c (transcode_string): fix encoding index names.
Thanks markizko for reporting.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-17 16:29:39 +00:00
tenderlove
b4bdb2f2eb * ext/psych/lib/psych/visitors/to_ruby.rb: fix a bug with string
subclass dumping and loading.

* test/psych/test_array.rb: pertinent tests

* test/psych/test_string.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-15 20:13:21 +00:00
tenderlove
5341e3ccc4 * ext/psych/lib/psych/visitors/to_ruby.rb: convert omap tagged maps to
Psych::Omap objects rather than hashes. [Bug #6425]

* test/psych/test_omap.rb: pertinent test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-15 16:34:21 +00:00
tenderlove
f78fcf1010 * ext/psych/lib/psych/visitors/yaml_tree.rb: keep a reference to
custom coders so that GC does not impact dumped yaml reference ids.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-15 16:24:31 +00:00
tenderlove
13edcbea75 * ext/psych/lib/psych/json/yaml_events.rb: implicit styles should not
be changeable for JSON events.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-29 19:44:18 +00:00
tenderlove
5638bbdab6 * ext/psych/lib/psych.rb: bumping up psych version to match release.
* ext/psych/psych.gemspec: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-07 01:29:29 +00:00
tenderlove
85e4c89675 * ext/psych/parser.c: fall back to any encoding if the external
encoding is wrong.  [ruby-core:44163]
* test/psych/test_encoding.rb: fix test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-06 17:09:03 +00:00
tenderlove
a2c56d53ea * ext/psych/lib/psych.rb: updating version to match gem
* ext/psych/psych.gemspec: ditto
* ext/psych/lib/psych/visitors/to_ruby.rb: fixing deprecation warning

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-27 23:45:44 +00:00
tenderlove
240c9acb5c * ext/psych/lib/psych.rb (load, parse): stop parsing or loading after
the first document has been parsed.

* test/psych/test_stream.rb: pertinent tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-08 21:31:05 +00:00
tenderlove
a2e3de1b3f * ext/psych/lib/psych.rb (parse_stream, load_stream): if a block is
given, documents will be yielded to the block as they are parsed.
  [ruby-core:42404] [Bug #5978]

* ext/psych/lib/psych/handlers/document_stream.rb: add a handler that
  yields documents as they are parsed

* test/psych/test_stream.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-08 21:21:52 +00:00
tenderlove
62ffffbe25 * ext/psych/lib/psych/core_ext.rb: only extend Kernel if IRB is loaded
in order to stop method pollution.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 17:32:53 +00:00
tenderlove
0cb987bc51 * ext/psych/lib/psych.rb: default open YAML files with utf8 external
encoding. [ruby-core:42967]
* test/psych/test_tainted.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-28 01:30:15 +00:00
tenderlove
0d1c8fd9d6 * ext/psych/parser.c: prevent a memory leak by protecting calls to
handler callbacks.
* test/psych/test_parser.rb: test to demonstrate leak.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 04:55:33 +00:00
tenderlove
774cf315e8 * ext/psych/parser.c: set parser encoding based on the YAML input
rather than user configuration.
* test/psych/test_encoding.rb: corresponding tests.
* test/psych/test_parser.rb: ditto
* test/psych/test_tainted.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-23 23:12:57 +00:00
tenderlove
59a1344808 * ext/psych/parser.c: removed external encoding setter, allow parser
to be reused.
* ext/psych/lib/psych/parser.rb: added external encoding setter.
* test/psych/test_parser.rb: test parser reuse

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-09 18:44:27 +00:00
tenderlove
8cf05741bc * ext/psych/lib/psych/visitors/to_ruby.rb: Added support for loading
subclasses of String with ivars
* ext/psych/lib/psych/visitors/yaml_tree.rb: Added support for dumping
  subclasses of String with ivars
* test/psych/test_string.rb: corresponding tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-18 03:52:01 +00:00
tenderlove
ee3ebc2de5 * ext/psych/lib/psych/visitors/to_ruby.rb: Added ability to load array
subclasses with ivars.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Added ability to dump
  array subclasses with ivars.
* test/psych/test_array.rb: corresponding tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-18 01:44:21 +00:00
tenderlove
934b954a36 * ext/psych/emitter.c: fixing clang warnings. Thanks Joey!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-20 17:37:41 +00:00
tenderlove
cf2bbc89d2 * ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored
from YAML.
* ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped
  to YAML.
* test/psych/test_numeric.rb: tests for BigDecimal serialization

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 03:44:09 +00:00
tenderlove
9f688d53c2 * ext/psych/lib/psych/scalar_scanner.rb: Strings that look like dates
should be treated as strings and not dates.

* test/psych/test_scalar_scanner.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-18 03:05:02 +00:00
tenderlove
54b214cc23 * ext/psych/lib/psych.rb (module Psych): parse and load methods take
an optional file name that is used when raising Psych::SyntaxError
  exceptions
* ext/psych/lib/psych/syntax_error.rb (module Psych): allow nil file
  names and handle nil file names in the exception message
* test/psych/test_exception.rb (module Psych): Tests for changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-06 23:12:37 +00:00
tenderlove
0df90074c7 * ext/psych/parser.c (parse): parse method can take an option file
name for use in exception messages.
* test/psych/test_parser.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-30 00:10:31 +00:00
tenderlove
daeaa65f08 * ext/psych/lib/psych.rb: remove autoload from psych
* ext/psych/lib/psych/json.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-21 19:47:09 +00:00
tenderlove
07636686da * ext/psych/lib/psych.rb (load_file): make sure opened yaml files are
also closed. [ruby-core:41088]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-17 01:38:16 +00:00
tenderlove
4c63e02740 * ext/psych/lib/psych/tree_builder.rb: dump complex numbers,
rationals, etc with reference ids.
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
* ext/psych/lib/psych/visitors/to_ruby.rb: loading complex numbers,
  rationals, etc with reference ids.
* test/psych/test_object_references.rb: corresponding tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-08 19:54:44 +00:00
tenderlove
e115627a18 * ext/psych/lib/psych/scalar_scanner.rb: make sure strings that look
like base 60 numbers are serialized as quoted strings.
* test/psych/test_string.rb: test for change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-07 11:33:39 +00:00
emboss
2b7bbe18b3 * ext/psych/parser.c: remove unused variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-26 23:49:49 +00:00
tenderlove
137c547c3e * ext/psych/lib/psych/syntax_error.rb: Add file, line, offset, and
message attributes during parse failure.
* ext/psych/parser.c: Update parser to raise exception with correct
  values.
* test/psych/test_exception.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-04 17:53:41 +00:00
tenderlove
77e58a3398 * ext/psych/parser.c (parse): Use context_mark for indicating error
line and column.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-04 16:53:14 +00:00
tenderlove
b7c66e31de * ext/psych/lib/psych/scalar_scanner.rb: use normal begin / rescue
since postfix rescue cannot receive the exception class. Thanks
  nagachika!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-04 16:24:58 +00:00
tenderlove
9167328359 * ext/psych/lib/psych.rb: update psych version.
* ext/psych/psych.gemspec: generate new gemspec for new version.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-03 21:44:38 +00:00
tenderlove
1c60db55ac * ext/psych/lib/psych.rb: calling yaml rather than to_yaml.
* ext/psych/lib/psych/nodes/node.rb: Rename `to_yaml` to just `yaml`
  in order to avoid YAML::ENGINE switching from replacing this method.
* test/psych/helper.rb: fix tests for method name change.
* test/psych/test_document.rb: ditto
* test/psych/visitors/test_emitter.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-03 21:31:43 +00:00
tenderlove
bd3b0d470c * ext/psych/lib/psych/scalar_scanner.rb: Match values against the
floating point spec defined in YAML to avoid erronious parses.
* test/psych/test_numeric.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-03 21:21:31 +00:00
tenderlove
1721fca3ad * ext/psych/lib/psych/visitors/to_ruby.rb: ToRuby visitor can be
constructed with a ScalarScanner.
* ext/psych/lib/psych/visitors/yaml_tree.rb: ScalarScanner can be
  passed to the YAMLTree visitor.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-03 21:00:50 +00:00
tenderlove
bdadd49940 * ext/psych/lib/psych/visitors/to_ruby.rb: Define Regexp::NOENCODING
for 1.9.2 backwards compatibility.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Fix Date string
  generation for 1.9.2 backwards compatibility.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-03 20:49:19 +00:00
tenderlove
8659de2e0f * ext/psych/lib/psych/visitors/yaml_tree.rb: emit strings tagged as
ascii-8bit as binary in YAML.
* test/psych/test_string.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-01 19:07:44 +00:00
tenderlove
72107daf0e * ext/psych/lib/psych.rb: Fixing psych version number.
* ext/psych/psych.gemspec: updating the gemspec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24 21:54:27 +00:00
tenderlove
34f6671d68 * ext/psych/lib/psych/nodes/node.rb: default to_yaml encoding to be
UTF-8.
* test/psych/test_encoding.rb: test yaml dump encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-24 21:14:44 +00:00
tenderlove
5339bbe2dc * ext/psych/lib/psych/core_ext.rb: Make Kernel#y private.
[ruby-core:38913]
* test/psych/test_yaml.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-13 00:27:44 +00:00
tenderlove
b5f05971f5 * ext/psych/lib/psych/scalar_scanner.rb: Only consider strings
with fewer than 2 dots to be numbers. [ruby-core:38915]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-13 00:00:26 +00:00
nobu
1c647cc203 * ext/psych/psych.gemspec (files): remove extra commas.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-04 07:09:58 +00:00
tenderlove
92f3904534 oops, fix author in the psych gemspec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-03 18:08:48 +00:00
tenderlove
55d68f1160 installing psych as a gem
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-03 17:02:44 +00:00
tenderlove
dc22968239 * ext/psych/lib/psych.rb: define a new BadAlias error class.
* ext/psych/lib/psych/visitors/to_ruby.rb: raise an exception when
  deserializing an alias that does not exist.
* test/psych/test_merge_keys.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-18 04:38:37 +00:00
tenderlove
40508ede73 * ext/psych/lib/psych/visitors/to_ruby.rb: Fix cyclic references of
objects.  Thanks to CvX for reporting the bug and a test case.
* test/psych/test_object.rb: test for cyclic object references.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-21 18:22:54 +00:00