LINUX.ORG.RU

Ruby: перенос программы с Ruby 1.8 на 2.1

 ,


0

1

Есть программа на руби (даже не одна), которая несколько лет крутилась на ruby1.8. Использует date, time, гемы mysql2 и что-то про stmp. За несколько лет никаких глюков, аварийного завершения или нестадартного поведения. Проги критически важные, то есть для теста просто запустить их или поправить так, чтобы тупо начало запускаться на 2.1, если будут ошибки - нельзя. Замаячил переезд этого добра на дистр, где в репах только руби 2.1. Есть ли заведомо известные вещи, которые между этими версиями Ruby поменялись до несовместимости?

★★★★★

проги критически важные

не покрыты тестами

лан

vostrik ★★★☆
()

Значение слов

У вас есть программы, которые вы описываете как «критически важные», но при этом нет специалиста, который мог бы их обслуживать не задавая вопросов на L.o.r.'е? Мне кажется вы где-то нас обманываете.

Важность программ определяется бюджетом который вы (начальство, владелец бизнеса, заказчик) готовы выделить на обслуживание. Если хотите делать по уму, то пишите план, рассчитывайте сколько вам понадобится времени, людей, вычислительных машин и денег на осуществление миграции. Собираетесь ли вы писать модульные тесты и какого покрытия хотите достигнуть, или же ограничитесь только интеграционными тестами? Как вы получите тестовый набор данных для проведения тестов? Какой у вас план перехода на новую версию и какой план отката на старую в случае неуспеха?

Camel ★★★★★
()

Замаячил переезд этого добра на дистр, где в репах только руби 2.1.

Сложно версию 1.8 опакетить? Работает — не трожь!

Ja-Ja-Hey-Ho ★★★★★
()
Ответ на: комментарий от Ja-Ja-Hey-Ho

Сложно версию 1.8 опакетить? Работает — не трожь!

Склоняюсь к этому варианту.

yu-boot ★★★★★
() автор топика

Есть ли заведомо известные вещи, которые между этими версиями Ruby поменялись до несовместимости?

В Google забанили? Простой поиск выдает, как минимум:

http://slideshow.rubyforge.org/ruby19.html

http://stackoverflow.com/questions/21574/what-is-the-difference-between-ruby-...

Чем больше кода на ruby-1.8, тем больше шансов, что придется его модифицировать при переходе на современные версии.

eao197 ★★★★★
()

Рубистам же не нужны репы, у них есть bundler (если не ошибаюсь). Ставьте локально руби 1.8 им и продолжайте наслаждаться экскрементами вымерших доисторических животных.

Virtuos86 ★★★★★
()
Ответ на: комментарий от tierpunk

В rbenv нету сетов по этому он проще в использовании, rvm если не ошибаюсь для своей работы патчит стандартные команды консоли так что его даже удалить по простому не получится, это ахтунг.

TDrive ★★★★★
()
Ответ на: комментарий от TDrive

После более чем 5 лет работу с Ruby, пришел к выводу. Локально удобнее rvm, гемсеты очень круты когда знаешь, как они работают. Особенно если у тебя куча версий руби на проекте. На серваке, чтобы не заморачиваться, rbenv.

А в целом, если умеешь и знаешь как что работает, то разницы никакой.

GreenBag ★★
()
Ответ на: комментарий от GreenBag

Так с гамами разных версий и bundler прекрасно справляется, куча версий руби для rbenv так же не проблема, можно задать и локально и глобально нужные версии. Какая польза то от гемсетов?

TDrive ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.