Откуда берутся самоцветы? - PullRequest
0 голосов
/ 07 ноября 2018

Интересно, пока я просеиваю примеры, как мне найти исходную библиотеку при установке гемов. Например, у меня есть

require 'oauth2'

и для установки запускаю

gem install oauth2

Из какого хранилища извлекается установка для гемов? Я хочу использовать рефлексию для обратного инжиниринга некоторых вызовов в примерах.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Есть несколько полезных опций для просмотра исходного кода рубиновых самоцветов. Как упомянул @tadman, вы обычно можете ожидать, что источник драгоценных камней по умолчанию будет размещен на https://rubygems.org, и настоятельно рекомендуется использовать Bundler .

Во многих случаях открытый исходный код будет размещен на https://github.com. Я предпочитаю раскошелиться на источник gem и скачать мой форк локально, где я могу проанализировать его в своем редакторе, не боясь случайно что-нибудь сломать, так как ваш разветвленное репо будет содержать полную историю мерзавцев / репо и т. д.

Если вы новичок в ruby, я настоятельно рекомендую вам использовать менеджер версий ruby, то есть RVM или, возможно, RBENV , хотя мне кажется, что RVM немного проще и менее проблематично.

Мой другой любимый инструмент взлома / проверки рубинового кода - PRY

0 голосов
/ 07 ноября 2018

По умолчанию gem извлекает из Rubygems , основной репозиторий гемов, но вы можете установить его из любого места, если вы дадите ему URL или используете опцию --source, чтобы указать альтернативный источник. Некоторые предпочитают использовать частный хостинг гемов для своих зависимостей.

Почему бы не использовать Gemfile для управления вашими зависимостями? Это делает это намного более понятным:

source 'https://rubygems.org/'

gem 'oauth2'

Затем вы устанавливаете:

bundle install

Тогда вы можете увидеть, где он установлен:

bundle show oauth2

Оттуда вы можете посмотреть на источник. Вы также можете посмотреть страницу списка gem для oauth2, где приведены ссылки на документацию и источник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...