Skip to content

Instantly share code, notes, and snippets.

@joeljackson
joeljackson / better_function_matching.ex
Last active March 25, 2016 02:42
better function matching in elixir
add_subscription(user, subscription)
def add_subscription(%User{subscription: nil} = user, subscription) do
#Add subscription here using user
end
def add_subscription(_user, _subscription) do
raise "This user already has a subscription"
end
@joeljackson
joeljackson / function_matching.ex
Created March 25, 2016 02:40
Practical function matching example
add_subscription(user, subscription)
def add_subscription(%User{subscription: nil}, subscription) do
#Add subscription here
end
def add_subscription(_user, _subscription) do
raise "This user already has a subscription"
end
@joeljackson
joeljackson / fib.ex
Created March 25, 2016 02:31
Fibonnacci in elixir
defmodule Fib do
def fib(0), do: 0
def fib(1), do: 1
def fib(n), do: fib(n-1) + fib(n-2)
end
@joeljackson
joeljackson / fib.rb
Created March 25, 2016 02:24
Simple fib in ruby
def fib(num)
return 0 if num == 0
return 1 if num == 1
return fib(num - 1) + fib(num - 2)
end
alias Rebirth.Subscription
alias Ecto.Query
Subscription |> Query.where([s], not is_nil(s.user_id))
@joeljackson
joeljackson / attempt_1.ex
Created March 18, 2016 01:59
Attempt Number 1
alias Rebirth.Subscription
alias Ecto.Query
Subscription |> Query.where([s], s.user_id != nil)
@joeljackson
joeljackson / find.sql
Created March 18, 2016 01:56
Find all subscriptions that have a user
select * from subscriptions where user_id is not null;
@joeljackson
joeljackson / not_failtown.ex
Created March 11, 2016 06:28
Actually works!
alias Rebirth.Repo
query = from o in Rebirth.Order, []
orders = Repo.all query
@joeljackson
joeljackson / failtown.ex
Created March 11, 2016 06:03
Fail town
alias Ecto.Repo
query = from o in Rebirth.Order, []
orders = Repo.all query
@joeljackson
joeljackson / typekit.js
Created March 9, 2016 16:21
Typekit on LaunchRock
try{Typekit.load({ async: false });}catch(e){}
var sheet = (function() {
var style = document.createElement("style");
style.appendChild(document.createTextNode(""));
document.head.appendChild(style);
return style.sheet;
})();