Last active
February 13, 2020 19:45
-
-
Save olvap/37ba6d9af9ad4ed4ea118db9ec1aa934 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Produto | |
attr_accessor :nome, :categoria, :preco, :estoque | |
def initialize(nome:, categoria: 'Geral', preco:, estoque:) | |
@nome = nome | |
@categoria = categoria | |
@preco = preco | |
@estoque = estoque | |
end | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe 'Produto' do | |
it 'deveria conseguir criar um objeto Produto de categoria específica' do | |
nome = 'Cabo HDMI' | |
categoria = 'Eletrônicos' | |
preco = 25 | |
estoque = 5 | |
produto = Produto.new(nome: nome, categoria: categoria , preco: preco, estoque: estoque) | |
expect(produto.nome).to eq 'Cabo HDMI' | |
expect(produto.categoria).to eq 'Eletrônicos' | |
expect(produto.preco).to eq 25 | |
expect(produto.estoque).to eq 5 | |
end | |
Y hash no necesita un delimitador, tipo { }, como en Python? Los dos puntos al final de la "key:" ya identifican la estructura.
no es realmente un hash, son variables con nombres, pero muchas veces no es necesario usar las llaves. es como los parentesis, a veces es evidente y no son necesarios
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
son dos formas diferentes de definir los argumentos de un metodo.
esto se usa asi:
Producto.new("nombre")
y esto:
Se usa asi
Producto.new(name: "nombre")