Skip to content

RubyTime initialization refactor#6117

Merged
headius merged 8 commits intojruby:masterfrom
headius:refactor_time
Mar 12, 2020
Merged

RubyTime initialization refactor#6117
headius merged 8 commits intojruby:masterfrom
headius:refactor_time

Conversation

@headius
Copy link
Member

@headius headius commented Mar 12, 2020

The initialization path for RubyTime had grown unwieldy, with many paths crossing through the same logic and obscuring each others behavior. This refactor does the following:

  • Separates as much as possible the different call paths
  • Reduce duplication in argument processing
  • Simplify handling of subsecond times
  • Remove most of this logic from RubyTime into a utility class
  • Remove a couple long-deprecated construction methods

This passes CRuby and rubyspec Time tests and will be the baseline for adding support for the new duck-typed "Timezone" object in 2.6.

@headius headius added this to the JRuby 9.3.0.0 milestone Mar 12, 2020
@headius headius merged commit 5f16e69 into jruby:master Mar 12, 2020
@headius headius deleted the refactor_time branch March 12, 2020 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant