Opa! / 41 posts / 0 categories / 4 comments / feed / Feed dos Comentários
Rails Summit Latin America

Mudança de Planos

Decidi que não vou mais migrar meu blog para o Mephisto, vou fazer melhor, vou desenvolver meu próprio blog, obviamente, usando Ruby on Rails.

Vou fazer isso por que acho que para mim que não trabalho diariamente com Rails, é uma forma de aprender mais, e é muito melhor do que pegar alguma coisa pronta.

Ele já está quase pronto, daqui a pouco esse blog estará de cara nova, aguardem! :)

Colocando mais Ruby na minha vida

Pronto, está decidido, tenho que tomar vergonha na cara e começar a me afundar no Ruby, não posso ficar na metade do caminho, indo para um lado e para outro, e para começar, vou migrar o esse blog para mephisto, usando edge :) Meu próximo post será quando a migração estiver completa, reportando tudo o que aconteceu.

até!

Atualizações na Engine de Template

Hoje liberei algumas melhorias que fiz na engine de template que eu criei para PHP5, ela é bem simples, e não veio para ser nada muito elaborado no que diz respeito a engine de templates em um modo geral, na verdade, ela partiu de uma necessidade minha de poder restringir os programadores da minha equipe de programarem de qualquer jeito, ou do jeito que estavam acostumados, sem perder o poder da própria sintaxe da linguagem, e ainda facilitando a manutenção dos projetos por qualquer outro programador, seja ele um veterano ou um novo membro.

O projeto está hospedado no github, pra variar, e está aceitando contribuições, então sinta-se a vontade para criticar, questionar, parabenizar e obviamente, contribuir. :)

Eu ainda preciso documentar ele melhor, essa parte eu fiz meio na corrida, e foi um dos meus primeiros projetos no github, então ainda estava meio perdido no começo do meu aprendizado.

Então, dois trechos de código para exemplificar: o primeiro exemplo é um código válido

<p>
<?
    if($loggedIn) {
        echo 'User logged in'
    }
    else {
        echo 'User not logged in';
    }
    ?>
</p>

o segundo não

<p>
    <? if($loggedIn) { ?>
        User logged in
    <? } else { ?>
        User not logged in
    <? } ?>
</p>

A idéia é basicamente a seguinte: As tags PHP devem obrigatoriamente abrir e fechar na mesma linha, se não fechar, um erro de sintaxe é lançado e o script não roda. Também existe a possibilidade de criação de helpers, para facilitar o trabalho com os templates, o framework virá com alguns prontos - em desenvolvimento ainda.

Aplicação usando Shoes

Criei ontem de noite um aplicação de teste para traduzir palavras/frases usando Ruby, Shoes e Google AJAX Language API, ela é bem simples, não tem nada que não foi feito por aí, mas futuramente vou colocar a opção de salvar outras palavras/frases em um banco de dados local, usando SQLite provavelmente, já que estou reforcando meus estudos em inglês, acho que isto vai me ajudar bastante ;)

Mas nem tudo são flores nessa vida de programador, passei um trabalhinho para poder rodar o Shoes com as gems que eu usei, ele não funciona com gems instaladas usando gem install, por que ele tem uma espécie de "interpretador" próprio ou coisa parecida. Depois de instalar o Shoes tive que colocar as gems (json, rest-client) e a lib rexml dentro da Shoes-land - como vi uns chamando por ai.

Fiz um passo a passo de como rodar. Isso também serve para outras apps feitas usando Shoes que você queira rodar, não apenas para este projeto.

Copie as gems/libs - verifique antes se os diretórios são os mesmos

json - usei json_pure por que a outra é nativa, então não sei se funcionaria

sudo cp -R /usr/lib/ruby/gems/1.8/gems/json_pure-1.1.2/lib/json* /usr/local/lib/shoes/ruby/lib/

rest-client

sudo cp /usr/lib/ruby/gems/1.8/gems/rest-client-0.5.1/lib/* /usr/local/lib/shoes/ruby/lib/

rexml

sudo cp -R /usr/lib/ruby/1.8/rexml /usr/local/lib/shoes/ruby/lib/

Feito isso, clone o projeto

git clone git://github.com/rafaelss/shoes-translator.git

e quando terminar execute

cd shoes-translator
shoes translator.rb