Ruby on Rails
Autor: Andréa Fialho | Publicado: 2011-04-17T19:35:00-07:00

Fui à um minicurso na Dextra&nbsp;com Prof. Fernando e vou deixar registrado o que absorvi e fazer mais algumas pesquisas...

Ruby 

Ruby é uma linguagem totalmente orientada a objetos e a sintaxe achei bem parecida com Java, mas tem suas especificidades, possui tipagem dinâmica e forte, por ser orientada a objetos permite essa dinâmica, e não necessita declaração de variável, por exemplo: ’var’ = variável local, ’@var’ = variável de instância, 
’$var’= variável global. E não precisa do uso cansativo do ’self’ em cada membro da instância. É altamente portável: ela&nbsp;é desenvolvida em sua maioria no Linux, mas funciona em muitos tipos de UNIX, DOS, Windows 95/98/Me/NT/2000/XP, MacOS, BeOS, OS/2, etc. 
&nbsp; 
Segue exemplo de programinha: 
&nbsp; 




Método novo:

&nbsp;puts: imprime resultado na tela
gets: pega o valor digitado

Variáveis locais:

Devem começar com letras minúsculas ou com "_"

Variáveis globais:

Devem começar com $

Variáveis de classe:

Devem começar com @@

Variáveis de instância:

Devem começar com @
Representam o estado do objeto específico

Tipos básicos:

Todos os tipos são classes, não existe tipo primitivo.
Números

Inteiro (Fixnum e Bignum)
Ponto Flutuante (Float)

Booleanos (true/false)
Strings

Delimitado por "" ou ''
Alguns métodos

+
captalize
length
downcase
upcase
strip
split



Arrays:

Pode armazenar qualquer tipo de objeto
Instanciação:

var = Array.new
var = []´

Alguns métodos:

push
&lt;&lt;
pop
select
sort
reverse
insert(index, value)


Ranges:

Podem ser declarados de 2 formas:




No primeiro caso, a range vai conter n´umeros de 0 at´e 10, incluindo o 10. No segundo caso, vai de 0 até 9. Como regrinha dos pontinhos, menos ´e mais, quando se tem menos pontos, se tem mais valores na range.

Hashes:

São basicamente um Array com índices, dicionários.
(chave =&gt; valor, chave =&gt; valor)
Alguns métodos:

index(value)
values
keys
has_key?(key)
clear


Blocos de código:

Delimitadores:

{}
do ~ end


Operadores:

Aritméticos: +, -, /, *
Lógicos: &amp;&amp;, ||
Igualdade: ==, !=

Estruturas de controle:

Condicionais

if
elsif





unless (negação do if)





case

Loops:

while
Iteragir

break
next
return
redo

for
until
loop





Rails

Framework voltado totalmente à Web, desenvolvido em Ruby.

Componentes:

Active Record: camada de mapaeamento objeto-relacionamento
Action Pack: 

Action View: HTML, XML, Javascript
Action Controller: ontrole de fluxo de negócio
Dispatch

Action Mailer: e-mail
Action Support: classes úteis e extensões de bibliotecas adrões
Action Model

Comandos:

generate
console
dbconsole
new
server

Estrutura de aplicação:

app&nbsp;-&gt; MVC
config&nbsp;-&gt; configurações de aplicação
db&nbsp;-&gt; estrutura do banco de dados
doc -&gt; Documentação do sistema
lib -&gt; Bibliotecas
log -&gt; informações de blog
public -&gt; arquivos públicos (CSS, js, imagens, etc)
script -&gt; scripts pré-definidos do Rails (console, server)
test -&gt; Testes unitários, funcionais e de integração
tmp -&gt; qualquer coisa temporária como cache e informações de sessões
Vendor -&gt; Plugins

Scafold:

Cria o CRUD para toda a classe/tabela gerando inclusive formas de teste, modelos, views, (etc.)&nbsp;para serem editados.
Base para criação de uma entidade
Gera o MVC
CRUD: listagem, inserção, edição, visualização e exclusão
Estrutura de testes e layout

Anotações:

has_and_belongs
has_one
has_many

Referências

http://www.eustaquiorangel.com/downloads/tutorialruby.pdf

http://guides.rubyonrails.org/