В чем разница между плагинами и драгоценными камнями? Каковы различные виды использования каждого из них? Где и почему вы используете один над другим?
Разница между плагинами и драгоценными камнями Ruby?
Ответ 1
Драгоценный камень
- Gem - это упакованное рубиновое приложение, использующее систему упаковки, определенную RubyGems.
-
Рельсы сами по себе являются драгоценными камнями.
Rails gem установлен в jruby-1.0\lib\ruby \ gems\1.8\gems\rails-1.2.3 as:
DIR bin
DIR встроенный
68 465 CHANGELOG
DIR configs
DIR рассылки
DIR doc
DIR среды
307 fresh_rakefile
DIR помощники
DIR html
DIR lib
1,072 MIT-LICENSE
11,969 Rakefile
8,001 README
Каталог lib содержит весь исходный код gem. -
Мы можем установить, обновить и запросить версию gem. Если вы используете такой инструмент, как GemInstaller, можно легко автоматизировать установку и загрузку RubyGems с одним простым конфигурационным файлом.
- Gem, установленный для интерпретатора Ruby, может использоваться общесистемным для этого интерпретатора.
- Gem может быть опубликован как плагин.
- Можно также продавать в вендоров/драгоценных камнях.
Plugin
- Плагин - это расширение Rails Framework.
- Невозможно обновить с помощью команды. Для обновления нужно удалить и установить обновленную версию.
- Должен быть подключен к рельсам. (должен иметь init.rb)
- Имейте файл install.rb.
- Плагин не может быть опубликован как Gem.
- Может использоваться только для широкого использования.
Плагин Goldspike устанавливается в каталоге vendor\plugins\rails-integration приложения как:
7,089 build.xml
1,141 LICENSE.txt
DIR плагины
6,675 pom.xml
1,447 README
DIR образцы
Каталог плагинов /goldspike состоит из
24 init.rb
25 install.rb
DIR lib
549 Rakefile
536 README
DIR
DIR test
Каталог lib содержит весь исходный код плагина.
Gem vs Plugins
- У Rails был способ загрузки плагинов из каталога vendor/plugins/. Это, скорее всего, будет отрицательным, поскольку Rails добавила поддержку для объединения драгоценных камней в проект в каталоге vendor/gems/. Драгоценные версии rspec - это те, которые предназначены для повседневного использования. Нужно идти с ними, если вы не поддерживаете приложение Rails в семействе 1.2.x или ранее.
- Чаще всего становится быстрее регистрировать и выгружать репозиторий с помощью Gems, поскольку вы не включаете библиотеку в свое фактическое приложение. Часто возникают проблемы с использованием плагинов, связанных с несовместимостью, возникающими в отношении версий программного обеспечения среди распределенной команды.
- Общее правило - сделать Rails-специфическую функциональность плагином при создании более общих библиотек Ruby в драгоценных камнях.
Ответ 2
Драгоценные камни установлены на системном уровне, а плагины установлены на уровне приложения. Это означает, что если на одном и том же сервере работают два или более приложения, они могут делиться драгоценными камнями, но каждый из них будет иметь свои собственные плагины. На данный момент я предлагаю использовать камни, поскольку их легче обслуживать по мере масштабирования приложений.