Skip to content

Latest commit

 

History

History
63 lines (57 loc) · 2.63 KB

TODO.rdoc

File metadata and controls

63 lines (57 loc) · 2.63 KB

BUGS

  • Datetime with timezones having positive offsets picoseconds becomes negative and days & overflow are wrong

TODO

Pre-Release

  • Validate Datetime API

  • Refactor Interval (Gregorian)

  • Test rake tasks and temporarly remove non-working or fix

  • Complete specs

  • Complete minimal docs

Low priority

  • 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

UNHAPPY

  • 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

WHAT I WANT

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