diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/syck/rubyext.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index 9bce253602..36ef177ae9 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -521,6 +521,14 @@ yaml_org_handler( n, ref ) ptr += 2; while ( !ISDIGIT( *ptr ) ) ptr++; day = INT2FIX(strtol(ptr, NULL, 10)); + + if ( !cDate ) { + /* + * Load Date module + */ + rb_require( "date" ); + cDate = rb_const_get( rb_cObject, rb_intern("Date") ); + } obj = rb_funcall( cDate, s_new, 3, year, mon, day ); } |