Bibliotecas

Como na maioria das linguagens de programação, Ruby utiliza um grande conjunto de bibliotecas de terceiros.

A maioria delas são disponibilizadas na forma de uma gem. RubyGems é um sistema de pacotes Ruby que facilita a criação, compartilhamento e instalação de bibliotecas (pode-se dizer que é um sistema de distribuição de pacotes similar, por exemplo, ao apt-get, porém voltado a software em Ruby). A partir da versão 1.9, o Ruby vem com o RubyGems instalado por padrão, enquanto nas versões anteriores é necessário instalá-lo manualmente.

Algumas outras bibliotecas são disponibilizadas como diretórios compactados de código fonte (.zip ou .tar.gz). O processo de instalação pode variar, geralmente há um arquivo README ou INSTALL com instruções sobre isso.

Vamos dar uma olhada em como você pode encontrar e instalar bibliotecas.

Encontrando Bibliotecas

O principal lugar onde as bibliotecas estão hospedadas é o RubyGems.org, disponibilizando bibliotecas Ruby como gems. Você pode acessar o website diretamente ou usar o comando gem.

Através do comando gem search -r, você pode inspecionar o repositório do RubyGems. Por exemplo, gem search -r rails retornará uma lista de gems relacionadas ao Rails. Com a opção --local (-l), você executa uma busca local através das gems já instaladas. Para instalar uma gem, use gem install [gem]. Para navegar através das gems instaladas, use o comando gem list. Para mais informações sobre o comando gem, leia abaixo ou acesse a documentação do RubyGems.

No entanto, eixstem outras fontes de bibliotecas. O RubyForge costumava ser um local popular para biblitoecas Ruby, mas nos últimos anos vimos a ascenção do GitHub como um dos principais repositórios de conteúdo relacionado a Ruby. Na maior parte dos casos, o código-fonte de uma gem será hospedado no GitHub enquanto é publicado como uma gem completa no RubyGems.org.

O The Ruby Toolbox é um projeto que facilita descobrir projetos Ruby open source. Possui categorias para várias tarefas comuns do desenvolvimento, reúne várias informações sobre os projetos tais como a data de lançamento e a atividade de commits ou dependências, e dá uma nota para os projetos baseada em sua popularidade no RubyGems.org e no GitHub. A busca torna fácil descobrir o que você está procurando.

Mais algumas palavras sobre RubyGems

Segue aqui um review rápido do comando gem para uso diário. Está disponível uma documentação mais detalhada, cobrindo todos os aspectos deste sistema de pacotes.

Procurando por Gems

O comando de search pode ser usado para encontrar gems, baseado em uma string. As gems cujo nome começa com a string especificada serão listadas. Por exemplo, para pesquisar por gems relacionadas a “html”:

$ gem search -r html

*** REMOTE GEMS ***

html-sample (1.0, 1.1)

A flag --remote / -r indica que queremos pesquisar no repositório oficial do RubyGems.org (comportamento padrão). Com a flag --local / -l você pode pesquisar localmente nas gems instaladas.

Instalando uma Gem

Uma vez encontrada a gem que você deseja instalar, por exemplo o Rails:

$ gem install rails

Poderá também instalar uma determinada versão da biblioteca utilizando a flag --version / -v.

$ gem install rails --version 3.0

Listando Todas as Gems

Para obter uma lista de todas as gems instaladas:

$ gem list

Para obter uma lista (muito longa) de todas as gems disponíveis no RubyGems.org:

$ gem list -r

Ajuda!

A documentação está disponível diretamente no seu terminal:

$ gem help

Por exemplo, gem help commands é útil para listar todos os comandos de gem.

Criando suas próprias gems

O RubyGems.org tem vários guias sobre esse assunto. Você também pode querer investigar o Bundler, uma ferramenta genérica que ajuda a gerenciar as dependências de uma aplicação e que pode ser utilizada junto com o RubyGems.