Подтвердить что ты не робот

Разница между плагинами и драгоценными камнями Ruby?

В чем разница между плагинами и драгоценными камнями? Каковы различные виды использования каждого из них? Где и почему вы используете один над другим?

4b9b3361

Ответ 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

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