1 of 17

Ruby on Rails - Workshop

Rails Girls Sorocaba 2018

2 of 17

Amanda Pedroso, 24

Programadora

Ruby on Rails, .Net

Bluecore

@amandaclarck_

/amandaclarck

amanda.lssc@gmail.com

3 of 17

Por quê?

  • dev.truppie.com
  • Ruby on Rails (facebook)
  • Open source - linux, mac
  • c9.io, codeanywhere.com
  • Tradução

4 of 17

Ruby

  • Desenvolvida no Japão em 1995, por Yukihiro "Matz" Matsumoto
  • Ruby é uma linguagem interpretada, que foi criada com o objetivo de ajudar o programador
  • Em Ruby tudo é objeto

https://ruby-doc.org

5 of 17

Variável

  • valor1 = 1,95
  • valor2 = 1.95
  • nome = ‘amanda’
  • array = []
  • array = Array.new

6 of 17

FixNum

Float

valor = 123

valor = 1.23

1.0.eql?(1)

7 of 17

String

  • nome = "Ruby"
  • nome << "Rails"
  • valor1 = "1"
  • valor1.to_s

8 of 17

Symbol

  • Representam um tipo de string imutável
  • Vantagem de se usar symbol
  • ruby = :language
  • puts :language

9 of 17

Array

  • Array.new
  • array = []
  • objetos = [“bola”, 123, 4.5, “Sol”]
  • objetos[0]
  • objetos.each do |o|� puts o�end

10 of 17

Hash

  • hash = Hash.new
  • hash1 = {a: 'Ruby', b: 12, valor: 1.55}

11 of 17

Aspas duplas

Aspas simples

nome = "amanda #{sobrenome}"

nome = ‘amanda #{sobrenome}’

12 of 17

Estruturas condicionais

if 1=1

puts "é igual"

else

puts "não é igual"

end

1> 2

2 < 3

3 >= 3

while valor > 5

puts valor

end

false

true

?

13 of 17

Funções

def print(word)

puts "#{word}"

end

print(‘amanda’)

def sum(value)

value + 10

end

14 of 17

Classe

class Person

attr_accessor :name, :age

#attr_writer :name

def initialize(name, age)

@name = name

@age = age

end

def speak(fullname)

@name = fullname

puts "Meu nome é #{@name}"

end

end

Person.new(‘Amanda’, 23)

person = Person.new(‘Amanda’, 23)

p.name

p.age

15 of 17

Métodos

Métodos de classe

Métodos de instância

class Person� def self.speak� puts 'class method'� end

Person.speak

def sleep� puts 'instance method'� end�end

Person.new.sleep

16 of 17

Hora da

brincadeira

17 of 17

https://bit.ly/1lrUmzs

rails -v

ruby -v