Skip to content

Instantly share code, notes, and snippets.

View PDegenPortnoy's full-sized avatar

Peter Degen-Portnoy PDegenPortnoy

View GitHub Profile
@PDegenPortnoy
PDegenPortnoy / gist:4235914
Created December 7, 2012 19:42
Add color & git branch to your prompt
function parse_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "("${ref#refs/heads/}")"
}
RED="\[\033[0;31m\]"
YELLOW="\[\033[0;33m\]"
GREEN="\[\033[0;32m\]"
PS1="$GREEN \w$YELLOW \$(parse_git_branch)\$ "
@PDegenPortnoy
PDegenPortnoy / gist:5699313
Created June 3, 2013 16:21
Code example for Ohloh blog on getting an OAuth request tocken
gem 'oauth'
require 'oauth/consumer'
@consumer = OAuth::Consumer.new("your api key", "your oauth consumer secret", :site => "http://www.ohloh.net")
@request_token = @consumer.get_request_token
@PDegenPortnoy
PDegenPortnoy / StudentGradePrinter.rb
Last active December 22, 2015 06:29
Samples and examples of application framework for Launch Academy
# Sample ReportOutputter & child class (FileOutputter)
class ReportOutputter
attr_accessort :report_generator
def initialize(report_generator)
@report_generator = report_generator
end
def write
print_all_students
@PDegenPortnoy
PDegenPortnoy / AASM_Callback_Fail
Created September 11, 2013 14:44
Acts As State Machine (AASM) with callback sample code that was initial, non-functioning, implementation
class Tester < ActiveRecord::Base
include AASM
aasm_initial_state :inactive
aasm_state :inactive
aasm_state :active,
:after_enter => :after_active_state
aasm_event :activate do
transitions :to => :active,
:from => [:inactive],
@PDegenPortnoy
PDegenPortnoy / AASM_Callback_Success
Created September 11, 2013 14:46
Acts As State Machine with Successful Callback structures
class Tester < ActiveRecord::Base
include AASM
aasm_initial_state :inactive
aasm_state :inactive
aasm_state :active,
:after_enter => :after_active_state
aasm_event :activate,
:after => :after_event do
transitions :to => :active,
@PDegenPortnoy
PDegenPortnoy / csshX example
Created December 5, 2013 20:33
Use example of csshX to start multiple, simultaneous, interactive SSH sessions
pdp-mbp: ~ $ cat hostlist.txt
sfo-crawl-4
sfo-crawl-5
sfo-crawl-6
sfo-crawl-7
sfo-crawl-8
sfo-crawl-9
sfo-crawl-11
sfo-crawl-14
pdp-mbp: ~ $ csshX --host hostlist.txt
@PDegenPortnoy
PDegenPortnoy / Module Instance Variable
Last active December 30, 2015 12:59
Module setting instance variable and then checking for that variable in a containing class
[1] pry(main)> module Helper
[1] pry(main)* def set_stuff
[1] pry(main)* @stuff = 'something'
[1] pry(main)* end
[1] pry(main)* end
=> nil
[2] pry(main)> class Controller
[2] pry(main)* include Helper
[2] pry(main)* def index
[2] pry(main)* set_stuff
@buffer.each do |elem|
@output.write(elem)
@output_count += 1
end
def flush
return if @buffer.length < @max_length # don't flush yet
# ... rest of logic
end
@PDegenPortnoy
PDegenPortnoy / facade_example
Created April 3, 2014 23:37
Using a facade examplee
links, entries = [], []
data["entityView"].each do |elem|
case elem
when "links"
elem.each{|e| links << Link.new(e)}
when "entries"
elem.each{|e| entries << Entry.new(e)}
else
raise "Unknown Element!"