Как я могу развернуть «частные» драгоценные камни, к которым мои приложения могут получить доступ, но никто другой можно получить?

Этот ответ

for (var i =0; i < someArray.length; i++)
   if (someArray[i].name === "Kristian") {
      someArray.splice(i,1);
   }

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

for (var i = someArray.length - 1; i>= 0; i--)
   ...

.

21
задан Kevin Bedell 17 May 2012 в 01:47
поделиться

4 ответа

Это выглядит многообещающе:

https://github.com/cwninja/geminabox/

Хотя я сам этим не пользовался, поэтому могу ручаюсь за это. Тем не менее, это было рекомендовано в ветке, которую я недавно прочитал на официальном сайте Rubygems Q & A, где упоминалось, что встроенный хостинг rubygems не является рекомендуемым решением, и Geminabox был предложен в качестве хорошей альтернативы.

Обратите внимание, что он не имеет никакой аутентификации или безопасности (кроме, конечно, через неизвестность), поэтому в зависимости от того, насколько чувствительны эти драгоценные камни, вы можете захотеть добавить что-то в себя (или даже просто сделать белый список по IP-адресу).

10
ответ дан 29 November 2019 в 21:04
поделиться

Способ сделать это - распаковать ваш драгоценный камень в каталог vendor / gems. Затем вы сообщаете Bundler, где его найти, используя ваш Gemfile как обычно.

Сначала распакуйте драгоценный камень в продавца / драгоценные камни. Я предполагаю, что вы скачали драгоценный камень и сидели в открытом каталоге перед вами.

gem unpack your_gem.gem --target /path_to_rails_app/vendor/gems/.

Теперь обновите ваш Gemfile с помощью следующей строки:

gem 'your_gem', :path => "#{File.expand_path(__FILE__)}/../vendor/gems/your_gem"

Наконец, используйте Bundler, чтобы установить его и обновить ваш Gemfile.lock

bundle install

Теперь у вас есть локальная копия гема, установленного в вашем приложении Rails.

Теперь вы можете делиться драгоценными камнями между своими приложениями любым удобным вам способом, поддерживая символическую ссылку, подмодуль Git или поддерево.

8
ответ дан 29 November 2019 в 21:04
поделиться

Мое предложение для этого состоит в том, чтобы использовать bundler, частное репозиторий git и зависимость git + ssh. Единственная проблема заключается в том, что вам нужно будет найти способ управления ключами ssh, так как в настоящее время я не верю, что bundler поддерживает кэширование ключей ssh. Возможно, вы сможете использовать синтаксис стиля https: // username: password @ myrepo ...., но я не пробовал его.

Не забывайте, что у вас всегда есть возможность использовать bundle package для упаковки ваших драгоценных камней для развертывания.

Надеюсь, это поможет!

5
ответ дан 29 November 2019 в 21:04
поделиться

github также предлагает несколько частных репозиториев за небольшую плату.

1
ответ дан 29 November 2019 в 21:04
поделиться