Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Orion Engleton rsgrafx

🏠
Working from home
View GitHub Profile
@rsgrafx
rsgrafx / gist:2320717
Created Apr 6, 2012
Is this Good Practice? Storing in outside Objects accessed by a constant.
View gist:2320717
#!/usr/bin/env ruby
OUTSIDE_STATE = true
NAMES = {:objects => []}
module CheckSelf
module ClassMethods
def self.inherited(child)
::NAMES[:objects] << child
end
@rsgrafx
rsgrafx / gist:5436732
Last active Dec 16, 2015
Brain dump ... Using singletons, forwardable, delegation. - Commented out code - the non ruby way. After several months of objective c development you tend to forget the elegance of Ruby. but thankfully I found my way back.
View gist:5436732
puts "#{ENV['RUBY_VERSION']}"
require 'rubygems'
require 'httparty'
require 'forwardable'
module Rulers
module Model
module HttpModel
View gist:9842954
angular.module('cardUiApp')
.directive('card', function () {
return {
template: ' content',
restrict: 'AE',
scope: {
name: '@',
amount: '=',
save: '&'
},
@rsgrafx
rsgrafx / gist:9846923
Last active Aug 29, 2015
Angular Directive to embed gists by using url passed in as attribute.
View gist:9846923
Usage:
// <show-code url='https://gist.github.com/your-user-name/XXXXX.js'></show-code>
angular.module('yourAppName')
.directive('showCode', function () {
return {
restrict: 'E',
transclude: true,
scope: {
url: '@url'
@rsgrafx
rsgrafx / gist:9862471
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
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
@rsgrafx
rsgrafx / Deploying NON Phoenix apps
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=/<your>/<path>/<toyour.app> --git-dir=/<your>/<path>/<toyour.REPO> checkout -f;
cd /<your>/<path>/<toyour.app>
@rsgrafx
rsgrafx / rewrite.exs
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
@rsgrafx
rsgrafx / paperclip.ex
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
@rsgrafx
rsgrafx / citrusbyte.exs
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]
"""