Skip to content

Instantly share code, notes, and snippets.

View elissonmichael's full-sized avatar
🚫
undefined method 'status' for nil:NilClass

Élisson Michael elissonmichael

🚫
undefined method 'status' for nil:NilClass
View GitHub Profile
# Sample reference code for doubles/mocks, stubs, and spies in RSpec
# Taken from Kevin Skoglund's RSpec tutorial on Lynda.com
describe 'Doubles' do
it "allows stubbing methods" do
dbl = double("Chant")
allow(dbl).to receive(:hey!)
expect(dbl).to respond_to(:hey!)
end
describe 'Expectation Matchers' do
describe 'equivalence matchers' do
it 'will match loose equality with #eq' do
a = "2 cats"
b = "2 cats"
expect(a).to eq(b)
expect(a).to be == b # synonym for #eq
@elissonmichael
elissonmichael / pt-BR.yml
Created June 17, 2018 22:18 — forked from bmentges/pt-BR.yml
will_paginate translation to portuguese
pt-BR:
will_paginate:
previous_label: "← Anterior"
next_label: "Próximo →"
page_gap: "…"
page_entries_info:
single_page_html:
zero: "Nenhum registro encontrado"
one: "Apenas 1 registro encontrado"
other: "Mostrando todos os %{count} registros encontrados"
# -*- encoding : utf-8 -*-
#
# Rodrigo Soares Manhães, professor homenageado pelos formandos da turma de 2007
# do curso de Ciência da Computação da UENF.
#
# 20/09/2012
#
##
class Aluno < ActiveRecord::Base
@elissonmichael
elissonmichael / carrinho.rb
Last active June 26, 2018 02:02 — forked from rodrigomanhaes/carrinho.rb
Carrinho de Compras com Mock
class Carrinho
attr_reader :pedidos
def initialize(args)
@pedido_class = args[:pedido_class]
@pedidos = []
end
def adicionar(produto)
@pedidos << @pedido_class.new(produto)
end
@elissonmichael
elissonmichael / atom-ruby-snippets.cson
Created November 22, 2018 16:39 — forked from yuanyan/atom-ruby-snippets.cson
Ruby Snippets for Atom
'.source.ruby':
'describe (String)':
'prefix': 'des'
'body': 'describe "${1:subject}" do\n $0\nend'
'describe (type)':
'prefix': 'dest'
'body': 'describe ${1:Type} do\n $0\nend'
'describe (type, string)':
'prefix': 'dests'
'body': 'describe ${1:Type}, "${2:description}" do\n $0\nend'
@elissonmichael
elissonmichael / brute_force.rb
Last active April 14, 2019 16:41
Algoritmo para Resolver uma Charada por Força Bruta em Ruby
(100..999).each do |x|
(100..999).each do |y|
(100..999).each do |z|
soma = x + y + z
condicao1 = soma.digits.size == 3
condicao2 = soma.digits.uniq.size == 1
n = soma.digits.uniq.first
condicao3 = n == x.digits.first && n == y.digits.first && n == z.digits.first
condicao4 = x.digits.last == y.digits.last && y.digits.last == z.digits.last
condicao5 = x.digits[1] == y.digits[1] && y.digits[1] == z.digits[1]
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
@elissonmichael
elissonmichael / test_mail_purge.rb
Created June 3, 2019 02:00 — forked from adamsanderson/test_mail_purge.rb
An example of using MiniTest::Mock
require 'minitest/mock'
require 'minitest/unit'
require 'date'
MiniTest::Unit.autorun
class TestMailPurge < MiniTest::Unit::TestCase
class MailPurge
def initialize(imap)
@imap = imap
@elissonmichael
elissonmichael / poodir-notes.md
Created May 30, 2018 15:27 — forked from speric/poodir-notes.md
Notes From "Practical Object-Oriented Design In Ruby" by Sandi Metz

Chapter 1 - Object Oriented Design

The purpose of design is to allow you to do design later, and it's primary goal is to reduce the cost of change.

SOLID Design:

  • Single Responsibility Principle: a class should have only a single responsibility
  • Open-Closed Principle: Software entities should be open for extension, but closed for modification (inherit instead of modifying existing classes).
  • Liskov Substitution: Objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.
  • Interface Segregation: Many client-specific interfaces are better than one general-purpose interface.