View after.ex
def loop(model, models) do
task_sup = Process.whereis(:worker_supervisor)
Stream.resource(
fn -> {model, 0} end,
&func_that_gets_data/1,
fn(_) -> :ok end
)
|> Stream.chunk(20)
|> Stream.map(fn(ids) -> Task.Supervisor.async(task_sup, Worker, :sanitize, [model, ids]) end)
View flatten.ex
defmodule ListOp do
def flatten([head | tail]), do: flatten(tail, [head])
def flatten([], acc), do: Enum.reverse(acc)
def flatten([ [head | []] | tail], acc), do: flatten(tail, [head | acc])
def flatten([ [head | rest] | tail], acc), do: flatten(flatten([rest | tail], [head | acc]))
def flatten([head | tail], acc), do: flatten(tail, [head | acc])
end
View README.md

Generate a new Elixir project using mix and add cowboy and plug as dependencies in mix.exs:

  defp deps do
    [
      {:cowboy, "~> 1.0.0"},
      {:plug, "~> 0.8.1"}
    ]
  end
View quicksort.ex
# Not tail recursive and uses ++ :(
defmodule Quicksort do
def sort([]), do: []
def sort([head | rest]) do
{before, after} = Enum.partition(rest, &(&1 < head))
sort(before) ++ [head] ++ sort(after)
end
end
View ecto.ex
def by_path(ancestry) do
Enum.reduce(ancestry, App.Node, fn (ancestor, query) ->
query
|> join(:inner, [n], n1 in App.Node, n1.id == n.parent_id)
|> where([n], n.key == ^ancestor) # This is where I'm stuck, all the where's are n0."key", see line 14
end)
end
# Here is the resulting SQL:
SELECT n0."id", n0."key", n0."project_id", n0."type", n0."parent_id"
View centinel.rb
credit_card = ActiveMerchant::Billing::CreditCard.new(cc_number, cc_info_hash)
gateway = ActiveMerchant::Billing::CardinalCentinelGateway.new(
ProcessorId: '123',
MerchantId: '456',
TransactionPwd: 'p4ssw0rd'
)
lookup_response = gateway.authorize(amount, credit_card)
if lookup_response.enrolled?
View austin_beer
- Jester King
- Black Metal Farmhouse Imperial Stout
- Whatever Farmhouse and Wild Ales they have out
- Anything else you see from them, apparently
- Austin Beerworks
- Fire Eagle IPA
- Heavy Machinery Double IPA
- Peacemaker Pale Ale
- Blackthunder Schwarzbier
View private.rb
class Parent
def initialize(name)
@name = name
end
private
attr_accessor :name
end
View unique_pairs.ex
defmodule UniquePairs do
def hundreds(numbers) do
numbers
|> combinations
|> is_hundred
|> sort_pairs
|> Enum.uniq
end
View rainforest.rb
require 'httparty'
fetch = -> (url) {
HTTParty.get(url, headers: { "Accept" => "application/json"})
}
response = fetch.("http://letsrevolutionizetesting.com/challenge.json")
begin
next_url = response["follow"]