Criando Sua Primeira Gem Parte 1

Nesse post irei demonstrar como é simples fazer sua própria gem. As gems são instaladas pelo gerenciador de pacotes RubyGems.

Vamos começar como o arquivo de especificação da gem, que chamamos de miguxo_gem.gemspec

Gem::Specification.new do |s|
    s.name = %q{miguxo_gem}
    s.author = 'Rogerio Medeiros'
    s.version = "0.0.0"
    s.date = %q{2012-03-06}
    s.summary = %q{Miguxo!}
    s.files = [
        "lib/miguxo_gem.rb"
    ]
    s.require_paths = ["lib"]
end

Essa é a estrutura básica para criar o arquivo gemspec.

Agora vamos criar os diretórios necessários para a gem, abra o shell e execute:

mkdir miguxo_gem
cd miguxo_gem
mkdir lib

Voltamos ao diretório raiz da gem e criamos o arquivo miguxo_gem.gemspec:

touch miguxo_gem.gemspec

Adicionamos as especificações necessarias para validá-lo:

1
2
3
4
5
6
7
8
9
10
11
12
Gem::Specification.new do |s|
  s.name = %q{miguxo_gem}
  s.author = 'Rogerio Medeiros'
  s.version = "0.0.0"
  s.date = %q{2012-03-06}
  s.summary = %q{Miguxo!}
  s.description = "Uma simples gem chamada miguxo"
  s.files = [
    "lib/miguxo_gem.rb"
  ]
  s.require_paths = ["lib"]
end

Mantendo um pouco simples, vamos até o diretório /lib e criaremos um novo arquivo:

cd lib
touch miguxo_gem.rb

Inserindo um pouco de código:

1
2
3
4
5
6
# -*- coding: utf-8 -*-
class Miguxo
  def self.xaudaxao
    puts "Olá Miguxo!"
  end
end

Tudo pronto para gerar nossa gem, então vamos ao grande e esperado comando lol, entre no diretório raiz e execute o seguinte comando lol:

gem build miguxo_gem.gemspec

Ao termino deve exibir a seguinte saída:

Successfully built RubyGem
Name: miguxo_gem
Version: 0.0.0
File: miguxo_gem-0.0.0.gem

Para instalar a gem localmente, permaneça no ditório raiz e execute o seguinte comando:

gem install miguxo_gem-0.0.0.gem

A saída deve ser a seguinte:

Successfully installed miguxo_gem-0.0.0
1 gem installed

Abra o shell e execute os seguintes comandos:

irb
require 'miguxo_gem'
Miguxo.xaudaxao

Na próxima parte iremos deixar nossa classe Miguxo ou pouco mais complexa e na última parte irei fazer os testes lol.

Simples e fácil lol.

Criando Sua Primeira Gem Parte 2

Comments