Что я делаю, чтобы Sinatra не загружал OmniAuth при запуске Ruby 1.8.7 - PullRequest
0 голосов
/ 02 июля 2011

OmniAuth должен быть совместим с 1.8.7 и основан на Rack. Я создал специальную стратегию для OmniAuth, которая почему-то делает Sinatra при работе с Ruby 1.8.7 / REE несчастным. Он отлично работает с Rails 3 в 1.8.7 или 1.9.2, а также правильно работает с Sinatra, работающим на 1.9.2.

Исходный код моей пользовательской стратегии (все еще в стадии разработки) находится здесь:
https://github.com/stevenhaddox/oa-casport

Код для примера приложения Синатра здесь:
https://github.com/stevenhaddox/oa-casport-sinatra

Любые предложения о том, почему OmniAuth :: Builder не работает под Ruby 1.8.7, будут высоко оценены, так как я хотел бы убедиться, что я поддерживаю те же платформы Ruby, что и сам OmniAuth.

1 Ответ

0 голосов
/ 04 июля 2011

Sinatra действительно добавляет много зависимостей, но, поскольку гем OmniAuth должен работать должным образом с Sinatra и Rails во многих версиях Ruby, я исключил зависимость Sinatra как виновника, а скорее что-то в моем спискеСкорее всего, сам код gem-кода casport.

В моем опыте с ruby ​​(который, возможно, короткий) не рассчитывайте на подобные вещи.Драгоценный камень может указывать >= x.y, а не ~> x.y или любой другой синтаксис выбора, и у вас вполне может получиться зависимость 1.9.И даже тогда вы можете получить сюрпризов .Отметьте каждый драгоценный камень, включенный всегда.

...