-
Datetime with timezones having positive offsets picoseconds becomes negative and days & overflow are wrong
-
Validate Datetime API
-
Refactor Interval (Gregorian)
-
Test rake tasks and temporarly remove non-working or fix
-
Complete specs
-
Complete minimal docs
-
Verify all rake tasks
-
Fix gem rake task (must validate manifest and version)
-
Rake task to help localization
-
Spec to test completeness of localizations
-
Write extensive parsing suite, there should be 4 kinds of parsers:
-
Extremely strict format specific parsers, such as Chronos::Datetime::Gregorian::iso8601 which parses only and only iso8601 compliant strings and raises if it fails.
-
User defined strict parsers which use a Parser::Format (or a string which the parser method converts to a Parser::Format instance) to determine the parsing rules which raise if they fail to match.
-
Strict automatic parser
Classname
::parse, which tries predetermined formats and raises if it fails to consume the whole string. -
Lax automatic parser (no name yet, maybe just a switch to ::parse) which do “as good as possible” matching and conversion and defaultize whatever is missing and never raise.
-
-
Write extensive #format suite with proper localization
-
Localize words (‘month’, ‘months’, …)
-
Localize numerics (‘one’, ‘two’, …)
-
Localize entities (‘January’, …, ‘Monday’, …)
-
Localize format (mm/dd/YYYY, dd.mm.YYYY, …)
-
-
Lazy loading of strings/parsers/formatters
-
chronos/replace/time - Allow Chronos::Datetime::Gregorian to act as a Time drop-in
-
chronos/replace/date - Allow Chronos::Datetime::Gregorian to act as a Date drop-in
-
chronos/compat/time - Allow Chronos::Duration::Gregorian to work seamlessly with Time
-
chronos/compat/date - Allow Chronos::Duration::Gregorian to work seamlessly with Date
-
Import Scheduler
-
Handle recurring
-
Natural language parsers
-
Extractors (extract datetimes, intervals and durations from plaintext)
-
Improve formatters
-
Add other calendary systems
-
Chinese
-
Jewish
-
Indian
-
Julian
-
Discordian
-
-
Full documentation, including guides/howtos/caveeats
-
DateTime#strftime(“%Z”) does not indicate if it’s in a timezone with active DST or not, so importing a DateTime and importing a Time will give different results.
-
Freeze datetime/duration/interval
All changes to the source MUST NOT violate any of the following statements:
-
Multiple calendar systems can be used at the same time
-
If a single calendar system is used, (almost) all of the complexity of supporting multiple calendars is hidden
-
Chronos is multilingual