Criando Sua Primeira Gem Parte 2

Continuando com o post Criando Sua Primeira Gem Parte 1 iremos agora adicionar algumas funcionalidades para nossa gem.

Abrimos o arquivo miguxo_gem.rb que se encontra na pasta lib e adicionamos o seguinte código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: utf-8 -*-
class Miguxo
  def self.xaudacao(miguxito = "ola_miguxo")
    miguxitor = Miguxitos.new(miguxito)
    puts miguxitor.xaudacao
  end
end

class Miguxo::Miguxitos
  def initialize(miguxito)
    @miguxito = miguxito
  end

  def xaudacao
    case @miguxito
    when "dmitrynix"
      "Olá Miguxito Mestre Teste"
    else
      "Olá Miguxito"
    end
  end
end

Agora vamos criar uma pasta com o nome miguxo dentro da pastar lib e criar um arquivo chamado miguxitos.rb e colocar a classe que esta logo abaixo da miguxo dentro dele, com os seguintes comandos:

mkdir miguxo
cd miguxo
touch miguxito.rb

% Nova estrutura
.
├── miguxo_gem.gemspec
└── lib
    ├── miguxo
    │   └── miguxitos.rb
    └── miguxo_gem.rb

As classes miguxo.rb e miguxo/miguxitos.rb ficam assim respectivamente:

1
2
3
4
5
6
class Miguxo
  def self.xaudacao(miguxito = :ola_miguxo)
    miguxitor = Miguxito.new(miguxito)
    puts miguxitor.xaudacao
  end
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Miguxo::Miguxito
  def initialize(miguxito)
    @miguxito = miguxito
  end

  def xaudacao
    case @miguxito
    when :dmitrynix
      "Olá Miguxito Mestre em Testes lol"
    when :caironoleto
       "Olá Miguxito Mestre em Rails lol"
    when :infoslack        
       "Olá Miguxito Mestre em Sugurança lol"
    when :leandrosales
       "Olá Miguxito Mestre em Sacana lol" 
    when :weldyss
       "Olá Miguxito Chefe lol"    
    else
       "Olá Miguxito"
    end
  end
end

Agora vamos alterar o arquivo gemspec, ficando agora assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Gem::Specification.new do |s|
  s.name = %q{miguxo_gem}
  s.author = 'Rogerio Medeiros'
  s.version = "0.0.1"
  s.date = %q{2012-03-06}
  s.summary = %q{Miguxo!}
  s.description = "Uma simples gem chamada miguxo_gem"
  s.email       = 'argerim@gmail.com'
  s.homepage    =
    'http://heroku.rogeriolol.com'
  s.files = [
    "lib/miguxo_gem.rb"
  ]
  s.require_paths = ["lib"]
end

Gerando a nova versão da gem e instalando:

gem build miguxo_gem.gemspec
gem install miguxo_gem-0.0.1.gem

Agora vamos executar com o camando abaixo:

1
2
3
4
5
irb -Ilib -rmiguxo_gem
:001 > Miguxo.xaudacao(:dmitrynixx)
 => "Olá Miguxito"
:002 > Miguxo.xaudacao(:dmitrynix)
 => "Olá Miguxito Mestre Teste"

O comando -Ilib é para ele incluir o diretório lib, na próxima parte faremos os testes, simples e fácil lol.

Criando Sua Primeira Gem Parte 3

Comments