[Ironruby-core] Code Review: YamlFixes
olegtk at microsoft.com
Thu Jul 24 02:49:11 EDT 2008
Well, actually we don't need to truncate or round altogether as DateTime has 0.1 microsecond precision. Here is a better way:
return new DateTime(year, month, day, hour, minute, second, DateTimeKind.Utc).AddTicks(microsecond * 10);
If that looks ok, I'm going to submit the shelveset.
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Curt Hagenlocher
Sent: Wednesday, July 23, 2008 9:11 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] Code Review: YamlFixes
Microseconds are being truncated to milliseconds instead being rounded. The least painful way to fix this is to .AddMilliseconds(1) to the result if usec >= 500. (I might be okay with the truncation if it's acknowledged in a comment.)
There's a typo in a comment added to BaseConstructor.cs.
I'm not qualified to comment on the more YAML-specific stuff.
From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Oleg Tkachenko
Sent: Wednesday, July 23, 2008 1:35 AM
To: IronRuby External Code Reviewers
Cc: ironruby-core at rubyforge.org
Subject: [Ironruby-core] Code Review: YamlFixes
tfpt review "/shelveset:YamlFixes;REDMOND\olegtk"
Removes obsolete YamlTest project from the solution.
Fixes DateTime serialization and loading of timestamps.
Fixes nil serialization.
Implements YAML::add_domain_type() - user controlled parsing of domain types.
Fixes loading binary data in Ruby context.
Implements loading dates - instantiates Date class (from date.rb curently) instead of DateTime.
Adds "require 'date'" into yaml.rb to be compatible with MRI (it makes loading yaml much slower currently - need to implement Date class).
Fixes bug with serializing a hash with a nil as a key.
Implements loading abbreviated types (looks like obsoleted yaml 1.0 only feature, but MRI tests it. http://yaml.org/spec/history/2002-10-31.html#preview-family).
Splits SafeConstructor.ConstructYamlTimestamp into two methods so RubyConstructor can override Date construction.
Fixes Time.at() - the argument must be a double type.
Fixes Time.local() and Time.utc() - usec argument is actually microseconds, not milliseconds.
Ironruby-core mailing list
Ironruby-core at rubyforge.org
More information about the Ironruby-core