Граф коммитов

276 Коммитов

Автор SHA1 Сообщение Дата
tenderlove 7a7bb64464 * ext/psych/lib/psych/visitors/to_ruby.rb: correctly register
self-referential strings. Fixes tenderlove/psych #135

* test/psych/test_string.rb: appropriate test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 17:11:21 +00:00
zzak 6213b8370c * lib/psych.rb: specify in rdoc what object is returned in parser
By Adam Stankiewicz [Github tenderlove/psych#133]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-01 00:18:50 +00:00
zzak 9460a750e1 * ext/psych/lib/psych.rb: rdoc for Psych overview by Adam Stankiewicz
[Github tenderlove/psych#134]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28 18:27:00 +00:00
zzak e39caa7550 * ext/psych/lib/psych/y.rb: Document Kernel#y by Adam Stankiewicz
[Github tenderlove/psych#118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 16:19:46 +00:00
tenderlove 1c836f811c * ext/psych/lib/psych/visitors/yaml_tree.rb: fixing string quotation
when dumping Ruby strings. Thanks Ingy

* test/psych/test_psych.rb: appropriate tests.

* test/psych/test_yaml.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 23:54:29 +00:00
tenderlove 7a68f53dc6 * ext/psych/lib/psych/visitors/yaml_tree.rb: change output reference
ids to be sequential numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 23:52:01 +00:00
tenderlove 679a646e37 * ext/psych/lib/psych/scalar_scanner.rb: use constants rather than
calculating Inf and NaN.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-17 01:49:55 +00:00
zzak c12d66f0d1 * ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs
[Github tenderlove/psych#118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-13 07:47:10 +00:00
tenderlove 0a60805af5 * ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that
contain something besides a hash should be left in tact.

* test/psych/test_merge_keys.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-12 00:00:12 +00:00
tenderlove b104e2524d * ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from
floats so that Float() will not raise an exception.

* test/psych/test_numeric.rb: test to ensure "1." can be loaded

* test/psych/test_string.rb: make sure "1." can round trip

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 19:26:45 +00:00
tenderlove ac8b1869c0 * ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings
will be dumped as unicode.  Thanks Paul Kunysch!

* test/psych/test_string.rb: appropriate test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-09 19:26:36 +00:00
zzak 3e028faf7c * ext/psych/lib/psych.rb (Psych.load): Return value of
Psych::SyntaxError.message should be same as example.
  Patch by Ippei Obayashi [ruby-core:51193] [Bug #7636]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 06:13:56 +00:00
tenderlove 4654d75ea3 * ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so
common cases are evaluated first.  Thanks Kevin Menard!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-17 18:04:50 +00:00
tenderlove 8a4cc4e02a * ext/psych/lib/psych/visitors/yaml_tree.rb: quote strings that begin
with non-word characters.  Thanks Alex Tambellini!
* test/psych/test_yaml.rb: appropriate test case

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 22:45:16 +00:00
nobu 94cb1c9b4b * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-05 04:08:17 +00:00
usa a985c5898c * ext/psych/extconf.rb: added --enable-bundled-libyaml option. this
enforces using bundled libyaml.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 06:54:53 +00:00
nobu ac93d931fa emitter.c: constify
* ext/psych/yaml/emitter.c (yaml_emitter_write_indicator): constify.
* ext/psych/yaml/emitter.c (yaml_emitter_write_block_scalar_hints):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:23:20 +00:00
nobu 082a2716cc extconf.rb: mingw32
* ext/psych/extconf.rb: mingw32 also needs macros for win32, not
  only mswin32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:22:47 +00:00
nobu d8da0faf23 extconf.rb: VPATH
* ext/psych/extconf.rb: compile sources in the source directory
  without copying by using VPATH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 12:21:19 +00:00
ko1 1ff0a3d0c6 * ext/psych/extconf.rb: copy sources into build directory,
not into srcdir.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 05:52:11 +00:00
tenderlove 14099149f4 * ext/psych/extconf.rb: use embedded libyaml if no system libyaml is
found. [ruby-core:49463]
* ext/psych/lib/psych.rb: updating to psych 2.0.0
* ext/psych/lib/psych/deprecated.rb: updated docs
* ext/psych/psych.gemspec: updated to psych 2.0.0
* ext/psych/psych.h: fixing header file include for rename
* ext/psych/psych_emitter.c: renamed to avoid libyaml conflict.
* ext/psych/psych_emitter.h: ditto
* ext/psych/psych_parser.c: ditto
* ext/psych/psych_parser.h: ditto
* ext/psych/psych_to_ruby.c: ditto
* ext/psych/psych_to_ruby.h: ditto
* ext/psych/psych_yaml_tree.c: ditto
* ext/psych/psych_yaml_tree.h: ditto
* ext/psych/yaml/LICENSE: embedding libyaml 0.1.4
* ext/psych/yaml/api.c: ditto
* ext/psych/yaml/config.h: ditto
* ext/psych/yaml/dumper.c: ditto
* ext/psych/yaml/emitter.c: ditto
* ext/psych/yaml/loader.c: ditto
* ext/psych/yaml/parser.c: ditto
* ext/psych/yaml/reader.c: ditto
* ext/psych/yaml/scanner.c: ditto
* ext/psych/yaml/writer.c: ditto
* ext/psych/yaml/yaml.h: ditto
* ext/psych/yaml/yaml_private.h: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 04:34:41 +00:00
tenderlove 653b0bcbaf * ext/psych/lib/psych/visitors/yaml_tree.rb: use literal YAML style
when emitting multi-line strings. Thanks @atambo

* test/psych/test_yaml.rb: test for change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-17 03:15:54 +00:00
tenderlove 24c6a7c368 * ext/psych/lib/psych/scalar_scanner.rb: avoid raising exceptions when
parsing Floats and Integers. Thanks riffraff [ruby-core:44426]
* test/psych/test_numeric.rb: associated test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-17 03:11:22 +00:00
tenderlove 4e57f4e182 * ext/psych/lib/psych/core_ext.rb: move Kernel#y so that it can
manually be required as 'psych/y'.

* ext/psych/lib/psych/y.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-17 02:28:48 +00:00
tenderlove 0f9307914b * ext/psych/lib/psych/handlers/recorder.rb: added a class for
recording YAML parse and emit events.

* ext/psych/lib/psych/handler.rb: adding a list of events so that
  handler classes can more easily be meta-programmed.

* test/psych/handlers/test_recorder.rb: tests for the change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-29 01:23:54 +00:00
tenderlove f8d34b2a75 * ext/psych/lib/psych/visitors/yaml_tree.rb: `tree` should return the
same thing on every call.

* test/psych/visitors/test_yaml_tree.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 01:13:09 +00:00
tenderlove dbe6250af2 * ext/psych/lib/psych/visitors/yaml_tree.rb: YAML Tree object should
be able to take an emitter object as it's output.

* test/psych/visitors/test_yaml_tree.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-28 01:06:09 +00:00
tenderlove 3c73f44c7f * ext/psych/parser.c: just get the constant defined in Ruby.
* ext/psych/lib/psych/syntax_error.rb: Psych::SyntaxError now inherits
  from StandardError rather than SyntaxError.  Thanks Eric Hodel!

* test/psych/test_exception.rb: tests for change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:25:02 +00:00
tenderlove 6c6d4568e8 * ext/psych/lib/psych/scalar_scanner.rb: Cache symbols while
tokenizing.  Thanks Kevin Menard!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:24:50 +00:00
tenderlove ca0cf16734 * ext/psych/lib/psych/scalar_scanner.rb: Updated the RegExp to catch
Strings earlier in the tokenization process.  Thanks Kevin Menard!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:24:36 +00:00
tenderlove b3fb872d9d * ext/psych/lib/psych/visitors/to_ruby.rb: Handle nil tags specially
to avoid slow method_missing calls.  Thanks Kevin Menard!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:14:08 +00:00
tenderlove ec3056ae22 * ext/psych/lib/psych/scalar_scanner.rb: Ignore bad timestamps. If
something looks like a timestamp but has an invalid component, treat
  it as a string instead of throwing an ArgumentError.
  Thanks Rhett Sutphin!

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:09:56 +00:00
tenderlove c05952c6a1 * ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner to
understand strings starting with an underscore and containing only
  digits.  Thanks Kelley Reynolds.

* test/psych/test_scalar_scanner.rb: test for fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:06:25 +00:00
tenderlove b00362eb3e * ext/psych/lib/psych.rb: Changed comment in psych.rb to update new
home page for libyaml.  Thanks to Carolyn Ann.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-22 21:02:16 +00:00
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
naruse 69cb0ca3e4 * ext/psych/lib/psych/deprecated.rb (Object#to_yaml_properties):
undef to_yaml_properties before redefine it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-13 03:54:53 +00:00
tenderlove 132161da69 * ext/psych/lib/psych.rb: updating version to match released gem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-09 17:26:29 +00:00
tenderlove 8cd2bf0721 * ext/psych/lib/psych/visitors/to_ruby.rb: Hash subclasses can be read
from YAML files.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Hash subclasses can be
  dumped to YAML files.
* test/psych/test_hash.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-09 01:58:07 +00:00
tenderlove aaa52bf088 * ext/psych/lib/psych/visitors/to_ruby.rb: Ruby modules can be loaded
from YAML files.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Ruby modules can be
  dumped to YAML files.
* test/psych/test_class.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-09 00:22:33 +00:00
tenderlove c641e4b23e * ext/psych/lib/psych/visitors/to_ruby.rb: Ruby classes can be loaded
from YAML files.
* ext/psych/lib/psych/visitors/yaml_tree.rb: Ruby classes can be
  dumped to YAML files.
* test/psych/test_class.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-09 00:06:29 +00:00
tenderlove 6c56c40b44 * ext/psych/parser.c (parse): release event objects to plug memory
leak.  Thanks Mark J. Titorenko!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-06 00:41:24 +00:00
nobu 3a47cf3395 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
tenderlove fe89874540 * ext/psych/lib/psych.rb: released a new gem, so increasing version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-13 22:31:15 +00:00
tenderlove d3802d719c fix capture to avoid doing a sub on the useconds when parsing dates
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-04 23:07:58 +00:00
tenderlove d47073de04 * ext/psych/lib/psych/visitors/yaml_tree.rb: fix time dumping so that
Syck can load UTC times that Psych dumps.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-03 23:06:19 +00:00
tenderlove 8968bd14fa * ext/psych/parser.c (parse): strings from psych have proper taint
markings.
* test/psych/test_tainted.rb: test for string taint

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-21 19:17:46 +00:00
akr 4520a3408a * ext/psych/parser.c: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-22 11:10:34 +00:00
tenderlove 4df71924e4 * ext/psych/lib/psych/visitors/yaml_tree.rb: Rescue exceptions when
people implement the method method. Thanks Lin Jen-Shin.
  [ruby-core:35255]

* test/psych/visitors/test_yaml_tree.rb: test for implementation of
  method method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-09 03:51:39 +00:00
tenderlove 2695d032e3 * ext/psych/lib/psych/scalar_scanner.rb: fix parsing timezone's whose
whose format is (+/-)hhmm.  Thanks Gonçalo Silva!

* test/psych/test_scalar_scanner.rb: test for bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-25 22:12:46 +00:00
tenderlove 7b494b09a0 * ext/psych/lib/psych.rb: increase Psych to 1.1.0 for help with
debugging.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 18:09:47 +00:00
tenderlove 4ed82ae5cb * ext/psych/lib/psych/streaming.rb: refactor streaming methods to a
module.
* ext/psych/lib/psych/stream.rb: extracted streaming specific methods
  to a module.
* ext/psych/lib/psych/json/stream.rb: JSON stream inherits from
  JSONTree and includes streaming methods.
* ext/psych/lib/psych/visitors/json_tree.rb: JSON does not support
  object references, so remove object reference testing when building
  JSON trees.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 18:09:38 +00:00
tenderlove 10ec858f40 should have used anchor, not oid
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 18:09:27 +00:00
tenderlove 846b8118df * ext/psych/lib/psych/visitors/yaml_tree.rb (accept): use Hash#key?
when looking up object references to err on the side of cache
  misses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 17:42:50 +00:00
tenderlove 8b5a3b7d39 * ext/psych/lib/psych/json/yaml_events.rb: refactoring JSON event
handling methods to a module for reuse.
* ext/psych/lib/psych/json/tree_builder.rb: AST builder uses JSON
  event methods.
* ext/psych/lib/psych/json/stream.rb: stream emitter uses JSON event
  methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 02:00:43 +00:00
tenderlove 6f37c467d4 * ext/psych/lib/psych/json/stream.rb: do not emit custom tags in maps
or sequences when emitting JSON.
* ext/psych/lib/psych/json/tree_builder.rb: do not emit custom tags in
  sequences when emitting JSON.
* test/psych/json/test_stream.rb: tests for custom stream emits.
* test/psych/test_json_tree.rb: tests for JSON emits.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 01:56:10 +00:00
tenderlove 816c7900fd moving autoload to require so that the correct files are required
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 01:49:41 +00:00
tenderlove 73af8137d9 * ext/psych/lib/psych/json/ruby_events.rb: DRY up ruby event handling
for JSON.
* ext/psych/lib/psych/visitors/json_tree.rb: use ruby events module
* ext/psych/lib/psych/json/stream.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 01:06:34 +00:00
tenderlove 6673f4e8af * ext/psych/lib/psych/json/stream.rb: fix JSON stream emits to use
double quotes during stream.
* test/psych/json/test_stream.rb: tests to reflect changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-21 01:02:41 +00:00
tenderlove b93c74c6e8 * ext/psych/lib/psych/visitors/to_ruby.rb: use Regexp::NOENCODING
rather than magic number.
* ext/syck/lib/syck/rubytypes.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-02 22:22:26 +00:00
tenderlove cc6b1b3c8d * ext/psych/lib/psych/visitors/to_ruby.rb: ARG_ENCODING_NONE regular
expressions can round trip. [ruby-core:34969]
* test/psych/test_yaml.rb: test for ARG_ENCODING_NONE regex
* ext/sych/lib/syck/rubytypes.rb: ARG_ENCODING_NONE regular
  expressions can round trip.
* test/syck/test_yaml.rb: test for ARG_ENCODING_NONE regex

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-02 22:05:15 +00:00
tenderlove 18e3c52bc4 reverting r30628 since this seems like a bug in libyaml
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22 22:43:41 +00:00
tenderlove 6e5aa6311a * ext/psych/lib/psych/visitors/to_ruby.rb: fixing merge key support
when multiple merge keys are specified.
* test/psych/test_merge_keys.rb: tests for multi-merge key support

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22 02:51:14 +00:00
tenderlove 5b1c06c74b * ext/psych/lib/psych/visitors/to_ruby.rb: merge keys are actually
part of YAML 1.1, so they should be supported.  Remove warning and
  merge keys to parent.  [ruby-core:34679]
* test/psych/test_merge_keys.rb: test for merge keys

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22 02:34:50 +00:00
tenderlove 7b876e65ed * ext/psych/parser.c (parse): fixing off-by-one error on line numbers
in parse exceptions.  [ruby-core:34690]
* test/psych/test_parser.rb: test for error

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22 02:23:12 +00:00
tenderlove 8dd3a4af66 * ext/psych/parser.c (parse): add the file name to the exception when
parse errors occur.
* test/psych/test_parser.rb: test for parse error file name

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22 01:26:40 +00:00
tenderlove 0331314d27 * ext/psych/parser.c (parse): fix assertion error when reusing a
parser after an exception has been raised
* test/psych/test_parser.rb: test for assertion error

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-22 01:13:52 +00:00
tenderlove 960720ef4f * ext/psych/lib/psych/nodes/node.rb: Make Psych::Nodes::Node
enumerable.
* ext/psych/lib/psych/visitors/depth_first.rb: Add a depth-first
  visitor to enumerate over a YAML AST in a depth-first fashion
* test/psych/nodes/test_enumerable.rb: test for enumerating nodes
* test/psych/visitors/test_depth_first.rb: test for depth-first
  visitor

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-21 19:11:53 +00:00
tenderlove 74b0a7a06f * ext/psych/lib/psych/visitors/json_tree.rb: Fix JSON emit for
DateTime and Time classes.
* test/psych/test_json_tree.rb: test for JSON emit

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-20 00:20:57 +00:00
tenderlove a17cdfdde2 * ext/psych/lib/psych/coder.rb (represent_object): arbitrary objects
may be passed to the Psych::Coder object.
* ext/psych/lib/psych/visitors/yaml_tree.rb: support for visiting
  arbitrary objects set on the coder.
* test/psych/test_coder.rb: supporting test case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-19 23:05:53 +00:00
tenderlove 0b38e9bc9d * ext/psych/lib/psych/parser.rb (Mark): Adding a class to wrap
marker information
* ext/psych/parser.c (mark): Add a method to return the mark object
  for the parser
* test/psych/test_parser.rb: tests for the Mark class.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-17 19:44:31 +00:00
tenderlove eacee9d95f * ext/psych/lib/psych/visitors/json_tree.rb (visit_String): JSON
strings should be dumped with double quotes. [ruby-core:34186]
* test/psych/test_json_tree.rb: test for double quotes

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-17 17:48:09 +00:00
tenderlove 10284a049a * ext/psych/lib/psych/json/tree_builder.rb (start_mapping): tags
should not be included in JSON mapping

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-06 02:29:18 +00:00
tenderlove e9e01ec4a0 * ext/psych/lib/psych/visitors/yaml_tree.rb: use YAML 1.0 output
format for serializing nil values.  Thanks Eric Hodel!
* test/psych/test_nil.rb: test for nil values

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05 17:57:38 +00:00
tenderlove 3d2e701396 * ext/psych/lib/psych/visitors/visitor.rb (initialize): push accessor
methods to subclass that actually uses them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-02 21:25:27 +00:00
tenderlove ad9aa5368f * ext/psych/lib/psych/visitors/visitor.rb (accept): switch to
a dispatch cache rather than case / when statement.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-02 21:24:54 +00:00
naruse d074ef4d60 * string.c (tr_setup_table): fix bug in r29146.
Initialize table even if cflag is 0; tr_find see whether
  del is empty or not.

* string.c (tr_find): nodel can't be NULL; if NULL, it means
  it is not specified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-30 19:45:30 +00:00
tenderlove 4eec1b31b9 * ext/psych/lib/psych/visitors/yaml_tree.rb (format_time): use new
timezone format options.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-08 16:51:28 +00:00
tenderlove a5dec23045 * ext/psych/lib/psych/visitors/emitter.rb (initialize): line_width is
a valid option passed to the emitter.
* test/psych/test_psych.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-08 16:10:10 +00:00
tenderlove ba9a959a18 * ext/psych/emitter.c (line_width, set_line_width): preferred line may
be set on the emitter.
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
* test/psych/test_emitter.rb: corresponding tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-08 16:02:26 +00:00
tenderlove 646b699536 * ext/psych/lib/psych/visitors/yaml_tree.rb (push): adding version
and header emit options.
* test/psych/test_psych.rb: corresponding test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-07 23:18:27 +00:00
tenderlove 3a185ede69 * ext/psych/lib/psych/visitors/emitter.rb: sending emit options to
YAML emitter. [ruby-core:28318]
* ext/psych/emitter.c: updating documentation about emit options
* ext/psych/lib/psych/core_ext.rb: ditto
* ext/psych/lib/psych.rb (dump): passing emit options to emitter.
* ext/psych/lib/psych/nodes/node.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-07 23:05:45 +00:00
tenderlove 3b87ff32de * ext/psych/lib/psych/scalar_scanner.rb (parse_time): dealing with
negative partial hour time zones. [ruby-core:31064]
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
* test/psych/visitors/test_to_ruby.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-06 16:06:20 +00:00
tenderlove c27e0ebab6 * ext/psych/lib/psych/visitors/yaml_tree.rb (format_time): nanoseconds
require more digits when dumping. Thanks akr! [ruby-core:31047]
* test/psych/visitors/test_to_ruby.rb: adjusting tests for nanoseconds

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-05 23:12:44 +00:00
tenderlove f32ae44629 * ext/psych/lib/psych/scalar_scanner.rb: making the code more beautiful.
Thanks nobu!

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-05 18:14:37 +00:00
tenderlove ce2e7368d7 * ext/psych/lib/psych/scalar_scanner.rb (parse_string): support
timezones that are not one hour off. [ruby-core:31023]
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-05 03:33:56 +00:00
tenderlove 59cad45f99 * ext/psych/lib/psych/visitors/to_ruby.rb(visit_Psych_Nodes_Scalar):
teaching Psych to deserialize DateTime objects. [Bug #1390]

* ext/psych/lib/psych/visitors/yaml_tree.rb(visit_DateTime): added a
  method for serializing DateTime objects.

* ext/psych/lib/psych/scalar_scanner.rb(parse_time): add method for
  parsing times objects from a string.

* test/psych/test_date_time.rb: tests for dumping DateTime objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-03 00:52:43 +00:00
tenderlove 6fe92a3cd6 * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_Time): use
Time#nsec to accurately serialize time objects. [ruby-core:29233]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-03 00:15:51 +00:00
tenderlove b09ad2b847 * ext/psych/lib/psych/visitors/to_ruby.rb (resolve_klass): fix the
exception message when attempting to load an unknown class.  Thanks
  nobu! [ruby-dev:41399]

* test/psych/test_psych.rb: test for the exception message

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-18 18:38:19 +00:00
tenderlove 044d6010fd * ext/psych/lib/psych/json/stream.rb: adding a JSON streaming API
* ext/psych/lib/psych/stream.rb: ditto
* ext/psych/lib/psych.rb: using autoload
* ext/psych/lib/psych/json.rb: ditto
* ext/psych/lib/psych/json/tree_builder.rb: refactor
* ext/psych/lib/psych/visitors/json_tree.rb: refactor

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-22 22:12:39 +00:00
usa df45be0472 * ext/psych/emitter: f..king C99(gcc)-ism.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-20 07:18:04 +00:00
tenderlove 5256d10265 * ext/psych/lib/psych/stream.rb: adding YAML streaming API for
infinite length streams.
* ext/psych/lib/psych.rb: refactoring for streaming API
* ext/psych/lib/psych/{handler, stream, tree_builder}.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-20 04:03:47 +00:00
tenderlove 383769068d * ext/psych/emitter.c: output strings are automatically transcoded
* test/psych/test_emitter.rb: supporting tests
* test/psych/test_encoding.rb: more supporting tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-19 17:15:27 +00:00
tenderlove c1b29ff5c6 * ext/psych/lib/psych.rb: Adding Psych::Exception
* ext/psych/parser.c: Do not allow extern_encoding to be set twice
* test/psych/test_parser.rb: test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-19 03:24:13 +00:00
tenderlove 15335f8aaa * ext/psych/emitter.c: using xmalloc and xfree for memory allocation
* ext/psych/lib/psych/nodes/stream.rb: encoding should be read / write
* ext/psych/parser.c: supporting UTF-16 and UTF-16 + BOM
* test/psych/test_parser.rb: testing UTF-16 and UTF-16 + BOM

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-19 03:12:03 +00:00
mame e181ae5391 * process.c: suppress warning for signed and unsigned type
inconsistency.

* ext/psych/parser.c: ditto.

* ext/sdbm/_sdbm.c: ditto.

* ext/syck/rubyext.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-17 13:21:17 +00:00
tenderlove 2f39988511 * ext/psych/lib/psych/emitter.rb: removing unused file.
* ext/psych/lib/psych/json/tree_builder.rb: moving tree builder to an
  event based external class.
* ext/psych/lib/psych/tree_builder.rb: adding an end_stream event.
* ext/psych/lib/psych/visitors/json_tree.rb: using event based AST
  builder.
* ext/psych/lib/psych/visitors/yaml_tree.rb: using event based AST
  builder.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-16 23:50:23 +00:00
tenderlove 37910b13fb * ext/psych/lib/psych/visitors/json_tree.rb: using factory methods for
node creation
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-16 02:33:05 +00:00
nobu c20a118c50 * ext/psych/parser.c (PSYCH_TRANSCODE): get rid of bare use of gcc
extension.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-11 00:53:16 +00:00
nobu 60d460ead9 * ext/psych/parser.c: fixed broken indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-11 00:53:11 +00:00
tenderlove 0de068d03e * ext/psych/parser.c (parse): Return strings encoded as
Encoding.default_internal if set.
* test/psych/test_encoding.rb: Tests for encoding change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-10 16:22:52 +00:00
tenderlove 23f612d7bf * ext/psych/lib/psych/visitors/yaml_tree.rb: using more factory methods
for generating the YAML ast.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-03 15:39:59 +00:00