Использование двух Ruby классов с одинаковым именем - PullRequest
1 голос
/ 25 марта 2020

Я использую J Ruby и работаю с датами. Фреймворк, в котором я нахожусь, заставляет меня использовать как DateTime JodaTime, так и стандартный DateTime Ruby.

Как мне обращаться с ними, имеющими одно и то же имя?

Как мне обратиться к одному когда другой тоже требуется?

1 Ответ

4 голосов
/ 25 марта 2020

Вы должны хранить классы с одинаковыми именами в разных пространствах имен.

Чтобы избежать конфликтов с DateTime в Joda-Time, вы можете присвоить пакету Java константу:

require 'date'
require 'java'

JT = org.joda.time

JT::DateTime  # <- Joda-Time's DateTime
DateTime      # <- Ruby's DateTime
...