Páginas

Mostrando postagens com marcador Ruby. Mostrar todas as postagens
Mostrando postagens com marcador Ruby. Mostrar todas as postagens

1 de agosto de 2011

Gerar JSON a partir de objeto Ruby

Que eu saiba não existe algo pronto no Ruby que, a partir de um objeto, gere um Json com todas as propriedades dele.

Encontrei na web um exemplo que mostra como criar um módulo que gera o Json de todas as propriedades de algum objeto.

Porém este exemplo assume apenas que as propriedades sejam simples. Quando a propriedade for um Array (que não inclui o módulo em sua origem), ele chega vazio no Json.

Fiz duas adaptações no exemplo:
1) Gerar Json de elementos simples de um Array
2) Gerar Json dos elementos (do Array) que têm o módulo incluído



Então, o código abaixo deve funcionar :)

p = Person.new
p.name = "Leandro"
p.age = 24

n1 = Note.new("first note")
a1 = Address.new("cool!")
n1.addresses = []
n1.addresses << a1

n2 = Note.new("last note")

p.notes = []
p.notes << n1
p.notes << n2

p.simple_notes = []
p.simple_notes << "abc"
p.simple_notes << "123"
  
p.to_json
Tente imprimir "p.to_json" e verás todas as propriedades em cascata bonitinhas dentro do Json!

4 de abril de 2011

Aplicação web com Ruby - Sinatra

Percebo que muitas pessoas começam a aprender Ruby por causa da fama que o Rails trouxe à comunidade de desenvolvimento. Comigo não foi diferente. Mas logo percebi que toda essa maestria com desenvolvimento web não era apenas um "Ruby on Rails".

Muitos inclusive confundem o tal "Ruby on Rails" com uma linguagem, sendo que é um full- framework. Um poderoso framework para desenvolvimento web, que utiliza a linguagem Ruby como sua engine. Apesar de notar seu poder e simplicidade, fui atrás de focar mais no aprendizado da linguagem Ruby.

Com Ruby me aventurei em desenvolver diversos aplicativos para facilitar algumas rotinas, automação, enfim. Lá estava eu com uma aplicação pronta mas queria colocá-la em um web server. Já tinha desenvolvido com Rails, mas minha aplicação era tão simples que encaixá-la ao Rails seria de fato "muito copo para pouca água". Foi aí que conheci o Sinatra...

Sinatra é uma DSL que permite desenvolver aplicações web em Ruby com o mínimo de esforço. É flexível e permite ao desenvolvedor, de uma forma muito simples e rápida, aplicar os conceitos de REST e MVC na aplicação. O Sinatra utiliza diversas bibliotecas para renderizar as views/templates da aplicação. Neste artigo iremos utilizar o famoso "erb".

Quem já tem familiaridade com frameworks MVC terá pouca ou nenhuma dificuldade em entender o Sinatra.

1 de dezembro de 2009

Estudo Rails - Instalando o Ruby/Rails (Parte II)


Bom, seguindo a ideia de montar um estudo sobre o Rails, neste post vamos ver o passo-a-passo da instalação, que é muito simples.

Lembrando que estou utilizando como guia de aprendizado, o site oficial do Rails e o livro do Urubatan (recomendo!).

É necessário primeiramente ter o ruby instalado na máquina. Vou detalhar em passos desde a instalação do ruby.

- Download do ruby no RubyForge (estou usando a versão 1.8.6 exe - Windows). No Linux , neste exemplo com o Ubuntu, para instalar, basta executar o comando :
sudo apt-get install ruby irb

- A instalação é recomendada a ser feita no diretório "C:\" do Windows. É bem simples.

- Em seguida adicione o diretorio "C:\Ruby\bin" da instalação do Ruby no Path do seu S.O (sistema operacional).

Pronto, o Ruby está instalado! 

Precisamos baixar o pacote do RubyGems, que será o "motor" para instalação das dependências do Ruby (similar ao 'sudo apt-get' do Ubuntu...). Baixe o pacote do site oficial, descompacte o arquivo e em seguida, pelo console, navegue até a pasta onde se encontra o pacote RubyGems descompactado e digite: ruby setup.rb

Isto irá instalar o RubyGems :)

Agora, podemos então começar a instalação do Rails.

- Abra o console e digite: gem install rails -include-dependencies

O Rails já está instalado na sua máquina!
Nos próximos posts, daremos continuidade com o estudo montando uma aplicação web simples e mostrando as principais funcionalidades deste poderoso framework.

Lembrando que este estudo é destino ao público que já conhece Ruby, com o intuito de mostrar com objetividade a agilidade no desenvolvimento de aplicações web com Ruby on Rails.