Skip to content

Instantly share code, notes, and snippets.

View assaf's full-sized avatar

Assaf Arkin assaf

View GitHub Profile
class ActionMailer::Base
# We're using the SendGrid SMTP API to send emails to a large distribution
# list. During testing, we want to validate that each recipient received a
# copy of the email. Do that by looking for emails sent to a distribution
# list and creating multiple copies, one for each recipient.
def perform_delivery_test(mail)
mail.ready_to_send # All duplicates must have same message id
smtpapi = JSON.parse(mail["X-SMTPAPI"].to_s) if mail["X-SMTPAPI"]
if smtpapi && smtpapi["to"]
mail.delete "X-SMTPAPI"
require "resque"
require "resque/failure/multiple"
require "resque/failure/redis"
# Configure Resque connection from config/redis.yml. This file should look
# something like:
# development: localhost:6379
# test: localhost:6379:15
# production: localhost:6379
Resque.redis = YAML.load_file(Rails.root + 'config/redis.yml')[Rails.env]
start on runlevel [2345]
stop on runlevel [06]
chdir /var/app/current
exec run_bundle unicorn -c config/unicorn.rb -E production
post-start script
sleep 5
rm -f /var/app/shared/system/maintenance.html
end script
Sinatra is already a tested and proven development option and we plan to continue our quest to make Sinatra development so flexible that it can be used for the smallest one line app or an advanced e-commerce consumer site without sacrificing what makes the development experience so pleasant.
@assaf
assaf / gist:771508
Created January 9, 2011 07:16
Simple test case for the Zombie protocol
z = require("./src/index")
z.listen null, (err)->
console.log "Listening"
console.log err if err
requests =[
"*1\r\n$7\r\nBROWSER",
"*3\r\n$5\r\nVISIT$1\r\n0$20\r\nhttp://labnotes.org/",
"*2\r\n$4\r\nWAIT$1\r\n0"
@assaf
assaf / gist:1207141
Created September 9, 2011 19:41
rescueFrom for jQuery AJAX requests
rescue_from = {}
# Associate status code with an HTTP status code. First argument is the status
# code, second argument is a function that accepts the XHR object. For example:
# $.rescueFrom 404, (xhr)-> alert("Oh no, page not found!")
$.rescueFrom = (status, fn)->
rescue_from[status] = fn
# Default handling for unsuccessulf HTTP status code. Finds and calls most
# appropriate handler based on the HTTP status code (see `$.rescueFrom`).
@assaf
assaf / gist:2002967
Created March 8, 2012 19:49
.tmux.conf
# Set the prefix to Alt-A, also support Ctrl-B
set -g prefix M-a
set -g prefix2 C-b
bind-key M-a send-prefix
set -g mode-keys vi
# Switch windows using Alt-Left/Right/Number
# Select window by name using Alt-Down
# Open new window using Alt-N
bind -n M-Left prev
bind -n M-Right next
@assaf
assaf / gist:2002917
Created March 8, 2012 19:40
.gitconfig
[color]
branch = auto
diff = auto
status = auto
sh = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
@assaf
assaf / gist:2002956
Created March 8, 2012 19:47
.gitignore
*.swp
*~
*.DS_Store
.svn
tags
CVS/
@assaf
assaf / .bashrc
Created May 21, 2013 19:45
.bashrc
# ----------------------------------------------------------------------
# SHELL OPTIONS
# ----------------------------------------------------------------------
# notify of bg job completion immediately
set -o notify
# Prevents history expansion, so commit -m "Yay!" will work.
set +o histexpand
# Warn when trying to overwrite file.
set -o noclobber