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

Как вы получаете рубиновый камень в путь включения для "требования",

Я создаю то, что я ожидаю быть рубиновой жемчужиной. У кого есть хорошая ссылка на учебник по преобразованию простой библиотеки или плагина в драгоценный камень? Кроме того, в частности, каков процесс, который Ruby использует, чтобы позволить требовать найти драгоценные камни? Кажется, что это нечто большее, чем помещение файлов в путь к жемчугу (или моя конфигурация прикручена?).

Спасибо

4b9b3361

Ответ 1

На самом деле это не сложно сделать вручную. Скажем, у вас есть библиотека whatever.rb, которую вы хотите распространять как драгоценный камень.

  • создайте каталог lib и поместите копию whatever.rb в lib/whatever.rb.
  • создайте файл whatever.gemspec и поместите здесь следующее: заполните
    
     Gem::Specification.new do |spec|
       spec.name = 'the-name-of-your-gem'
       spec.version ='0.0.1'
    # this is important - it specifies which files to include in the gem. spec.files = ["lib/whatever.rb"]
    # optional, but useful to your users spec.summary = "A more longwinded description of your gem" spec.author = 'Your Name' spec.email = '[email protected]' spec.homepage = 'http://www.yourpage.com'
    # you did document with RDoc, right? spec.has_rdoc = true
    # if you have a ruby forge project spec.rubyforge_project = 'your-project-name-on-rubyforge'
    # if you have any dependencies on other gems, list them thusly spec.add_dependency('hpricot') spec.add_dependency('log4r', '>= 1.0.5') end
  • Теперь, чтобы построить драгоценный камень, используйте команду gem build:
    % gem build whatever.gemspec
    Successfully built RubyGem
    Name: the-name-of-your-gem
    Version: 0.0.1
    File: the-name-of-your-gem-0.0.1.gem
    %
    
  • Вы можете протестировать локально, используя gem install the-name-of-your-gem-0.0.1.gem Чтобы использовать вашу библиотеку в script, просто выполните следующее:
    
    require 'rubygems' # puts gem libraries in the require path
    require 'whatever' # loads your library
    

Подробнее о том, какие различные параметры в файле gemspec, установите Справочник по GemSpec.

Лично я использую rubygems для пакетного запуска исполняемых скриптов, и считаю это очень удобным для этого.

Ответ 2

Здесь есть oldish здесь от Dr. Nic, который использует newgem. Вероятно, это немного устарело.

Несколько позднее мы получаем gemify, который, как представляется, основывается на вышеизложенном. Вот сообщение об этом

Что касается путей, когда вы выполнили gem install <some-useful-stuff>, и ваш требуемый код либо выполнил require 'rubygems', либо вы установили RUBYOPT = -rubygems (только в Windows? Я не уверен), а затем выполнение require также будет искать каталог gems для соответствующей библиотеки.

Там также более явная (но устаревшая) команда require_gem, которая теперь просто простая gem, которая позволяет вам указывать номера версий.

Ответ 3

Для создания рубинового драгоценного камня вы можете посмотреть newgem или jeweler.