Этот ответ
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--)
...
.
Это выглядит многообещающе:
https://github.com/cwninja/geminabox/
Хотя я сам этим не пользовался, поэтому могу ручаюсь за это. Тем не менее, это было рекомендовано в ветке, которую я недавно прочитал на официальном сайте Rubygems Q & A, где упоминалось, что встроенный хостинг rubygems не является рекомендуемым решением, и Geminabox был предложен в качестве хорошей альтернативы.
Обратите внимание, что он не имеет никакой аутентификации или безопасности (кроме, конечно, через неизвестность), поэтому в зависимости от того, насколько чувствительны эти драгоценные камни, вы можете захотеть добавить что-то в себя (или даже просто сделать белый список по IP-адресу).
Способ сделать это - распаковать ваш драгоценный камень в каталог 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 или поддерево.
Мое предложение для этого состоит в том, чтобы использовать bundler, частное репозиторий git и зависимость git + ssh. Единственная проблема заключается в том, что вам нужно будет найти способ управления ключами ssh, так как в настоящее время я не верю, что bundler поддерживает кэширование ключей ssh. Возможно, вы сможете использовать синтаксис стиля https: // username: password @ myrepo ...., но я не пробовал его.
Не забывайте, что у вас всегда есть возможность использовать bundle package
для упаковки ваших драгоценных камней для развертывания.
Надеюсь, это поможет!
github также предлагает несколько частных репозиториев за небольшую плату.