{{ message }}

Instantly share code, notes, and snippets.

🏠
Working from home

# Orion Engletonrsgrafx

🏠
Working from home
Created Jul 27, 2018
View Flatter.ex
 defmodule Flattery do def run({a, b}, acc) when is_map(b) == false, do: Map.merge(acc, %{a => b}) def run({_a, b}, acc) when is_map(b), do: go(b, acc) def run({a, b}, acc),
Created May 29, 2018
Elixir Atom Snippets
View Atom.snippets.cson
 '.source.elixir': 'Iex Pry': 'prefix':'pry' 'body': """ require IEx IEx.pry() """ 'New GenServer': 'prefix':'genmod' 'body': """
Created May 7, 2018
Queen Attack Exercism solution
View queen_attack.exs
 defmodule Queens do @type t :: %Queens{black: {integer, integer}, white: {integer, integer}, grid: List.t()} defstruct black: nil, white: nil, grid: nil @doc """ Creates a new set of Queens """ @spec new({integer, integer}, {integer, integer}, integer) :: t() def new(white \\ {0, 3}, black \\ {7, 3}, grid \\ 8)
Created Apr 30, 2016
Best use cases for 'with' in elixir
View using-with.exs
 defmodule Bicycle do defstruct [wheels: 2, pedals: nil, seat: nil, pass: nil] end defmodule BikeTypeCheck do def check(%Bicycle{wheels: count, pedals: val}=bike) do return = with {:ok, 2} <- count_wheels(count), {:ok, true} <- has_pedals(val), do: pedal_away(bike)
Last active Dec 18, 2016
Citrusbyte. list reduce in Elixir
View citrusbyte.exs
 defmodule Citrusbyte do @moduledoc """ This module - demonstrates use of pattern matching in Elixir to modify a list. [[1,2,[3]],4] -> [1,2,3,4] Usage: Citrusbyte.example [[1,2,[3]],4] #=> [1,2,3,4] """
Last active Sep 18, 2017
Setting up Arc in a phoenix app that was ported from a rails app using paperclip.
View paperclip.ex
 # Ecto - Model defmodule YourPhoenixApp.PaperclipAvatar do use YourPhoenixApp.Web, :model alias YourPhoenixApp.{Repo, PaperclipAvatar} # # There are places in my existing app where only the avatar image is required. # So I created a module that sole purpose was to read that data. # schema "users" do field :avatar_file_name, :string
Last active Jan 29, 2016
elixir rewrite folder structure from filenames.
View rewrite.exs
 # # Specifically written for - this problem with folders unzipped from this https://www.prepbootstrap.com website. # may be able to help someone solve similar issue. # # Problem: Folder contains no folder structure - but hints at them in the file names: # / # Theme-LightWayAdmin\blog.html # Theme-LightWayAdmin\font-awesome\less\list.less # Theme-LightWayAdmin\bootstrap-elements.html # Theme-LightWayAdmin\font-awesome\less\mixins.less
Last active Aug 29, 2015
Deploying Simple NON Phoenix apps on VPS ( linode / Digital ocean) with Git
View Deploying NON Phoenix apps
 #-- Follow this great writeup for prerequisites- having erlang/elixir/gitinstalled. #-- Setting up repos on the vps etc. #-- http://gabrieljaldon.com/articles/deploying-phoenix-with-git.html # In my case - I'M NOT USING PHOENIX I had to modified the post-receive hook in the repo #-------- post-receive hook #!/bin/bash git --work-tree=/// --git-dir=/// checkout -f; cd ///
Created Jul 23, 2015
View server_process.ex
 # Eratta Elixir In Action Chpt. 6 Listing 6.x pg. 170 defmodule ServerProcess do def start(callback_mod) do spawn(fn -> initial_state = callback_mod.init loop(callback_mod, initial_state) end) end
Created Mar 29, 2014
I started using Enumerable#detect. Decided to have a little fun with procs.
View gist:9862471
 #!/Users/orionengleton/.rvm/rubies/ruby-2.1.1/bin/ruby log = [ {time: 201201, x: 2},{time: 201201, y: 7},{time: 201201, z: 2}, {time: 201202, a: 3},{time: 201202, b: 4},{time: 201202, c: 0} ] # Required - Results. required_result = [{:time=>201201, :x=>2, :y=>7, :z=>2}, {:time=>201202, :a=>3, :b=>4, :c=>0}] # Using global variables * and #Procs
You can’t perform that action at this time.