Skip to content

Instantly share code, notes, and snippets.

View decioferreira's full-sized avatar

Décio Ferreira decioferreira

View GitHub Profile
@decioferreira
decioferreira / hotcode.ex
Created June 28, 2017 21:46 — forked from mgwidmann/hotcode.ex
Hot code swapping
# To show hot code uploading, we first need to build a simple phoenix project so we can see it happen in real time.
# Start by making a new phoenix project
$ mix phoenix.new hotcode
# Go into the directory
$ cd hotcode
# Add exrm dependency to mix.exs file
{:exrm, "~> 1.0.3"}
@decioferreira
decioferreira / .jscsrc
Last active August 29, 2015 14:18
JavaScript Style Guide
{
"disallowSpaceAfterKeywords": [
"if",
"for",
"while",
"switch",
"catch"
],
"requireCurlyBraces": [
"if",
:cd ~/code/
:set wildmenu
:colorscheme slate
:set tabstop=2
:set shiftwidth=2
:set expandtab
:set incsearch
@decioferreira
decioferreira / error_message
Created April 18, 2013 15:07
Rake tasks with config.threadsafe!
rake aborted!
uninitialized constant SomeModel
raise variable.to_yaml
@decioferreira
decioferreira / ranges.rb
Created December 13, 2012 18:34
Ruby and SQL exercises
def ranges(sequence)
return sequence.to_s if sequence.is_a? Numeric
sequence.inject([]) { |result, n|
if result.empty?
result << n
elsif result.last.is_a?(Numeric) && (result.last - n).abs == 1
result[-1] = [result.last, n]
result
elsif result.last[1] - result.last[0] == n - result.last[1]
@decioferreira
decioferreira / morse_to_eng.rb
Created October 2, 2012 10:22
Morsels are Delicious
require 'benchmark'
require 'test/unit'
def morse_to_eng(morse)
a = " ET_IA_NM____SU_RW____DK_GO#{'_'*13}HV_F_____L__PJ#{'_'*13}BX_CY____ZQ"
morse.gsub(/[.-]/, '.' => 1, '-' => 2).gsub(/\d+ ?| /) { |l| a[l.to_i(3)] }
end
class TestMorseToEng < Test::Unit::TestCase
def test_simple
@decioferreira
decioferreira / index_by
Created June 8, 2012 10:47
Convert an enumerable to a hash
people.index_by(&:login)
=> { "nextangle" => <Person ...>, "chade-" => <Person ...>, ...}
people.index_by { |person| "#{person.first_name} #{person.last_name}" }
=> { "Chade- Fowlersburg-e" => <Person ...>, "David Heinemeier Hansson" => <Person ...>, ...}
@decioferreira
decioferreira / rails_each_with_object
Created June 8, 2012 10:39
Enumerable#each_with_object
%w(foo bar).each_with_object({}) { |str, hsh| hsh[str] = str.upcase }
# => {'foo' => 'FOO', 'bar' => 'BAR'}
@decioferreira
decioferreira / user_login_as.rb
Created June 7, 2012 09:10
Integrate RSpec with Devise
user = FactoryGirl.create(:user)
user.confirm! # necessary if your users have been marked as :confirmable
login_as user, scope: :user