Commits on Sep 2, 2011
  1. Bump version to 1.0.4

    committed Sep 2, 2011
Commits on Sep 1, 2011
Commits on Jul 5, 2011
  1. Work around segfault in rb_ary_store during extension initialization,…

    … bump version to 1.0.3
    I've only seen this segfault when running Sequel's default rake
    task with home_run loaded on OpenBSD amd64.  Even though rb_ary_push
    is given the correct arguments, a segfault still occurs in
    rb_ary_store.  Unfortunately, it doesn't happen if you build ruby in
    debug mode, so I can't tell why it occurs.  My best guess is it is
    due to an unforunate interaction between ruby and OpenBSD malloc
    which only happens on amd64 and only when memory happens to be laid
    out a certain way.
    This commit avoids the issue by using rb_ary_new4 and a temporary
    C array instead of using a blank ruby array and rb_ary_push to add
    items to it.  I also tried increasing the integer passed to
    rb_ary_new2 as well as using rb_ary_new instead of rb_ary_new2,
    which seemed to reduce the frequency of the error, but not
    eliminate it completely.
    committed Jul 5, 2011
Commits on Jun 28, 2011
Commits on Mar 18, 2011
  1. Bump version to 1.0.2

    committed Mar 18, 2011
  2. Only run .rb files in the specs

    This fixes issues if you run the specs under rubinius and then under
    MRI or jruby without cleaning.
    committed Mar 18, 2011
Commits on Mar 17, 2011
  1. add specs for new formats

    funny-falcon committed Mar 17, 2011
  2. add sec_fraction handling

    funny-falcon committed Mar 17, 2011
Commits on Feb 28, 2011
  1. Bump version to 1.0.1

    committed Feb 28, 2011
  2. Enable allocate class method for Date and DateTime

    Also, change dup and clone to call super instead of using
    DUPSETUP and CLONESETUP.  This makes dup and clone work
    correctly on rubinius.  It also makes dup and clone work
    correctly for Date on jruby, but not for DateTime due to
    a bug in JRuby.
    allocate is defined to use the julian day 0 for simplicity.
    committed Feb 28, 2011
Commits on Feb 1, 2011
  1. Define Date::Format::ZONES in ruby instead of C, bump version to 1.0.0

    For some unknown reason, defining Date::Format::ZONES in C was
    causing the occassional segfault when loading home_run, either
    in an rb_hash_aset call or when freezing the hash in format.rb.
    The reason it was defined in C originally was because it is used
    in the zone_to_diff method defined in C.  However, that can be
    worked around with some additionally checking in the method.
    Note that Date::ZONES is no longer defined, only Date::Format::ZONES.
    committed Feb 1, 2011
Commits on Nov 13, 2010
  1. Add Runt to the incompatibilities section of the README (Fixes #19)

    Thanks to clifton for reporting this issue.
    committed Nov 13, 2010
Commits on Oct 18, 2010
  1. Make DateTime methods return subclass instances

    Similar as previous changes for Date.  This requires an API change
    for rhrdt__from_jd_nanos to accept a ruby class as a first argument.
    committed Oct 18, 2010
  2. Add specs to make DateTime subclass methods return subclass instances

    Similar as previous change made for Date methods.
    committed Oct 18, 2010
  3. Fix extension to return subclass instances for subclass methods

    In most cases, this is solved by using rb_obj_class(self) instead
    of hard coding rhrd_class.  This does require an API change
    for rhrd__from_hash, which now takes the class as the first
    committed Oct 18, 2010
  4. Add specs for subclass methods returning subclass instances

    Previously, Date was hard coded in a few places, so that if you
    did + 1, you got an instance of Date back,
    instead of an instance of the subclass. This adds specs for many
    cases to ensure that the correct class is used.  In some cases,
    these specs pass without code changes, in others the following
    commit is required.
    Problem pointed out by aquasync (ruby-ole gem author) as a comment
    on issue #15.
    committed Oct 18, 2010
  5. Use INT2FIX instead of LONG2NUM where the argument is hard coded

    If it is hard coded, you know it will fit in a Fixnum, so INT2FIX
    is safe.  Many other places in the library LONG2NUM is used
    where INT2FIX may also work, but I'd have to check each case to be
    committed Oct 18, 2010
Commits on Sep 20, 2010
Commits on Sep 12, 2010
  1. Bump version to 0.9.2

    committed Sep 12, 2010
  2. Modify some README text (Fixes #12)

    In certain cases, `home_run --install` or `home_run command` is
    necessary on 1.9.  Projects like Bundler that manipulate the
    load path and load things in a certain order may break when used
    with home_run unless you use one of the above.
    Add a special note about Rails 3, in order to help some users that
    need to use "require 'home_run'".
    committed Sep 12, 2010
Commits on Sep 2, 2010
  1. Update CHANGELOG

    committed Sep 2, 2010
  2. Fix DateTime#sec_fraction on ruby 1.9

    Previously, it had the 1.8 behavior of returning the fraction of
    the second as a fraction of the day, even on 1.9.  This increases
    compatibility with the 1.9 stdlib.
    This also adds a spec for the :sec_fraction entry of Date._parse,
    though that is the fraction of the second on both 1.8 and 1.9.
    committed Sep 2, 2010
Commits on Sep 1, 2010
  1. Update CHANGELOG

    committed Sep 1, 2010
  2. More explicit casting

    committed Sep 1, 2010
  3. More explicit casting

    committed Sep 1, 2010
  4. More explicit casting

    Use LONG2NUM instead of INT2NUM in the ragel parser.
    committed Sep 1, 2010
  5. Various changes for better compatibility for standards

    This removes the use of the %hhi format specifier, by using the
    %i format specifier and manually casting to int.
    Other changes involve explicit casting and the use of literal
    doubles instead of integers.
    This also fixes a couple of places where Data_Get_Struct would
    be passed in expression where it would be evaluated twice.
    committed Sep 1, 2010