Skip to content

Instantly share code, notes, and snippets.

View scottwater's full-sized avatar

Scott Watermasysk scottwater

View GitHub Profile
@scottwater
scottwater / phone.html
Created August 25, 2014 18:34
KickoffLabs Phone Number Support
<script src="//s3.amazonaws.com/assets.kickofflabs.com/js/jquery.maskedinput.min.js"></script>
<script>
jQuery(function($){
$("[name^='phone']").mask("(999) 999-9999");
});
</script>
@scottwater
scottwater / footer.html
Created August 7, 2014 12:21
Post SIgn-Up Redirect
<script>
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if(results == null)
{return null;}
@scottwater
scottwater / estimate_count.rb
Created March 26, 2014 15:52
Get a rough count on the number of records in a postgres table via active record.
module EstimateCount
extend ActiveSupport::Concern
module ClassMethods
def estimate_count
sql = "SELECT reltuples FROM pg_class WHERE relname = '#{self.table_name}'"
query = self.connection.execute(sql)
if result = query.first
("%f" % result['reltuples']).to_i
@scottwater
scottwater / gist:9782993
Last active August 29, 2015 13:57
How to find the perfect vim theme
Quick tips for finding the perfect theme for vim.
1. Install flazz/vim-colorschemes plugin (480+ themes)
You can see previews here: http://vimcolorschemetest.googlecode.com/svn/html/index-html.html
Too many for me to look through...plus, how does it look with my code?
2. Set your colorscheme to random
before_update :audit
def audit
if self.changed?
# find columns we want to audit
audit_columns = UserAudit.column_names.reject{|c| %w{id created_at updated_at}.include?(c)}
# add the user_id
data = self.attributes.dup.merge('user_id' => self.id)
# copy the pre-modified values
self.changes.each {|att, a| data[att] = a[0]}
@scottwater
scottwater / form.html
Created February 21, 2014 16:42
How to collect emails for KickoffLabs with just a HTML Form (note the list id 1905 and return_url hidden input).
<form class="form-inline" role="form" method="POST" action="https://api.kickofflabs.com/v1/1905/subscribe">
<input type="hidden" name="return_url" value="http://kickofflabs.com">
<label for="email">Email address</label>
<input type="email" id="email" name="email" placeholder="Your Best Email Address">
<button type="submit">Sign Me Up</button>
</form>
@scottwater
scottwater / ab_helper.rb
Created May 9, 2013 10:42
Quick and dirty A/B testing Rails views
module ABHelper
def choose_test(name, default_option, *options)
key = "#{name}_ab"
unless current_test = (params[key] || session[key] || cookies[key])
current_test = options[rand(options.count)]
end
current_test = default_option unless options.include?(current_test)
session[key] = cookies.permanent[key] = current_test
end
@scottwater
scottwater / nodoublesubmit.coffee
Created September 12, 2012 16:06
Stop Double Submits and then re-enable the button (when validation fails/etc)
$ = jQuery
$.fn.extend
nodoublesubmit: (options) ->
settings =
delay: 2000
debug: false
settings = $.extend settings, options
@scottwater
scottwater / gist:3638694
Created September 5, 2012 15:42
Quick heroku
function hs(){
heroku "$@" --remote staging
}
function hp(){
heroku "$@" --remote production
}