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
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
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
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
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
* 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
* 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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
* 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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
* 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
* 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