Доброго времени суток!
Каждый рубист, да и вообще программист, рано или поздно начинает задумываться о написании своих библиотек. Ему начинает надоедать перетаскивание одних и тех же кусков кода в другие проекты. В Ruby лекарством от данного заболевания являются gem'ы. Итак, давайте познакомимся с ним поближе.
Для начала неплохо было бы отыскать запылившийся файлик с расширением .rb. Нашли? Ok, двигаемся дальше.
Далее нам необходимо создать файл с названием hello-world.gemspec, где, как вы, вероятно, догадались hello-world — имя вашего будущего gem'a.
Следующим нашим шагом будет заполнение этого самого файла (если так можно выразиться, файла-спецификации). Содержание его должно выглядеть следующим образом:
Отлично, но собирать то нам пока нечего! Почему? Мы забыли создать helloworld.rb. Давайте немедленно исправим нашу оплошность:
Фуууух! Теперь, когда мы имеем минимальный набор файлов, мы можем приступить к сборке нашего с вами gem'a. Для его сборки мы должны использовать команду
В случае удачного выполнения данной операции на выходе мы получим файл с название hello-world-1.0.gem. Всё, наш gem собран.
Вы хотите поделиться своим gem'ом с другими людьми? Если да, то вы запросто можете это сделать следующей командой:
После выполнения этой команды мы должны увидеть следующее:
Увы, мы этого не увидим. Знаете почему? Потому, что мы с вами ещё не зарегистрированы на RubyGems. Сделать это можно здесь.
Теперь повторите команду push и всё будет ok.
Теперь наш gem сможет установить любой рубист(хоть из Австралии), выполнив команду
После того, как установка будет завершена напишем следующий код и выполним его:
В результате чего мы увидим заветное
Вообще-то мы наследили на RubyGems. Вы же об этом не забыли? Удалим наш gem следующей командой:
Да и из нашего списка gem'ов можно удалить. Поигрались и хватит!
Вот и сказочке конец, а кто слушал — молодец.
Сегодня мы с вами познакомились с поистине замечательным инструментом по имени gem. Теперь вы знаете, что если что-то случиться, gem обязательно придёт к вам на помощь.А Чип, Чип, Чип… И Дейл к нам спешат...
Введение
Каждый рубист, да и вообще программист, рано или поздно начинает задумываться о написании своих библиотек. Ему начинает надоедать перетаскивание одних и тех же кусков кода в другие проекты. В Ruby лекарством от данного заболевания являются gem'ы. Итак, давайте познакомимся с ним поближе.
С чего начать
Для начала неплохо было бы отыскать запылившийся файлик с расширением .rb. Нашли? Ok, двигаемся дальше.
Далее нам необходимо создать файл с названием hello-world.gemspec, где, как вы, вероятно, догадались hello-world — имя вашего будущего gem'a.
Следующим нашим шагом будет заполнение этого самого файла (если так можно выразиться, файла-спецификации). Содержание его должно выглядеть следующим образом:
Gem:Specification.new do |g|
g.name = 'hello-world' # имя нашего gem'a
g.version = '1.0' # его текущая версия
g.summary = 'This is the first gem in my life.' # описание... сами знаете чего
g.files = ['lib'/helloworld.rb'] # список файлов
g.author = 'krovatti' # и, разумеется, автор... как же без него...
end
Отлично, но собирать то нам пока нечего! Почему? Мы забыли создать helloworld.rb. Давайте немедленно исправим нашу оплошность:
class HelloWorld
def initialize
puts "Hello, World!'
end
end
Фуууух! Теперь, когда мы имеем минимальный набор файлов, мы можем приступить к сборке нашего с вами gem'a. Для его сборки мы должны использовать команду
gem build hello-world.gemspec
В случае удачного выполнения данной операции на выходе мы получим файл с название hello-world-1.0.gem. Всё, наш gem собран.
Постойте-ка
Вы хотите поделиться своим gem'ом с другими людьми? Если да, то вы запросто можете это сделать следующей командой:
gem push hello-world-1.0.gem
После выполнения этой команды мы должны увидеть следующее:
Pushing gem to RubyGems.org... Successfully registered gem: hello-world (1.0)
Увы, мы этого не увидим. Знаете почему? Потому, что мы с вами ещё не зарегистрированы на RubyGems. Сделать это можно здесь.
Теперь повторите команду push и всё будет ok.
All over the world
Теперь наш gem сможет установить любой рубист
gem install hello-world
После того, как установка будет завершена напишем следующий код и выполним его:
require 'rubygems'
require 'hello-world'
inst = HelloWorld.new
В результате чего мы увидим заветное
Hello, World!в нашей консоли.
Стопэ!
Вообще-то мы наследили на RubyGems. Вы же об этом не забыли? Удалим наш gem следующей командой:
gem yank hello-world -v 1.0
Да и из нашего списка gem'ов можно удалить. Поигрались и хватит!
gem uninstall hello-world -v 1.0
Заключение
Сегодня мы с вами познакомились с поистине замечательным инструментом по имени gem. Теперь вы знаете, что если что-то случиться, gem обязательно придёт к вам на помощь.