Skip to content

Instantly share code, notes, and snippets.


Dave Sanders DaveSanders

View GitHub Profile
DaveSanders / gist:8721734
Created Jan 30, 2014
SQL MERGE for Upsert example
View gist:8721734
USE [Bench]
/****** Object: Table [dbo].[users] Script Date: 1/30/2014 5:42:46 PM ******/
View gist:394130
d:\vim\vim72>vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar 24 2010 17:13:56)
MS-Windows 32-bit console version
Included patches: 1-411
Compiled by
Huge version without GUI. Features included (+) or not (-):
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
View Rails, SQL Server, ODBC, and Snow Leopard setup
These are VERY basic instructions for getting MS SQL Server working via ODBC on Mac OSX Snow Leopard, with rails. It assumes you know how to make / install libraries from source. It took a LOT of trial and error so your results may vary.
1. Install unixODBC
Get from
./configure --prefix=/usr/local --enable-gui=no
sudo make install
View DBUtil Usage
DBUtil sample Usage
the DBUtil.create_history line shows that only some of the columns are going to have history kept for them. The other columns will be ignored in the user_history table, and the triggers that are created by DBUtil.rb
class CreateUsers < ActiveRecord::Migration
require File.expand_path('db/dbutil.rb')
def self.up
create_table :users do |t|
t.column :login, :string, :null => false
View DBUtil.rb
class DBUtil < ActiveRecord::Migration
def self.create_history(table, history_table, columns, to_use)
#create the history table
to_use += ["id", "updated_at", "updated_by"] if to_use != nil
columns.each do |c|
next if to_use != nil && !to_use.include?(
View gist:511611
When /^(?:|I )fill in the following(?: within "([^"]*)")?:$/ do |selector, fields|
with_scope(selector) do
fields.rows_hash.each do |name, value|
field = find_field(name)
case field[:type]
when "select-one"
When %{I select "#{value}" from "#{name}"}
when "select-multiple"
When %{I select "#{value}" from "#{name}"}
View gist:522985
module DatatableHelper
#converts an object array into DataTable format
#example output:
#{"sEcho": 1, "iTotalRecords": 57, "iTotalDisplayRecords": 57,
#{"aaData": [
#["Gecko","Firefox 1.0","Win 98+ / OSX.2+","1.7","A"],["Gecko","Firefox 1.5","Win 98+ / OSX.2+","1.8","A"],["Gecko","Firefox 2.0","Win 98+ / OSX.2+","1.8","A"],["Gecko","Firefox 3.0","Win 2k+ / OSX.3+","1.9","A"],["Gecko","Camino 1.0","OSX.2+","1.8","A"],["Gecko","Camino 1.5","OSX.3+","1.8","A"],["Gecko","Netscape 7.2","Win 95+ / Mac OS 8.6-9.2","1.7","A"],["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"],["Gecko","Netscape Navigator 9","Win 98+ / OSX.2+","1.8","A"],["Gecko","Mozilla 1.0","Win 95+ / OSX.1+","1","A"]
#] }
def self.to_table(data, params = {})
DaveSanders / gist:1340607
Created Nov 4, 2011
JQuery add-on that adds a "enter" key press event
View gist:1340607
jQuery.fn.enter = function(callback) {
if (e.which == 13) {
return this;
View gist:1351731
<!DOCTYPE html>
<meta charset='utf-8'>
<html lang="en">
<link rel="stylesheet" href="jquery.svg.css"/>
<script src="jquery-1.7.min.js"></script>
<script src="jquery.svg.js"></script>
<script src="jquery.svgdom.js"></script>
DaveSanders / gist:1705064
Created Jan 30, 2012
Stacktrace for stack overflow
View gist:1705064
Mysql::Error: Table 'pestnowtest.orders' doesn't exist: SHOW FULL FIELDS FROM `orders`
/Users/dave/.rvm/gems/ruby-1.9.2-p290@pestnow/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:233:in `query'
/Users/dave/.rvm/gems/ruby-1.9.2-p290@pestnow/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:233:in `block in execute'
/Users/dave/.rvm/gems/ruby-1.9.2-p290@pestnow/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
/Users/dave/.rvm/gems/ruby-1.9.2-p290@pestnow/gems/activesupport-3.2.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/dave/.rvm/gems/ruby-1.9.2-p290@pestnow/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
/Users/dave/.rvm/gems/ruby-1.9.2-p290@pestnow/gems/activerecord-3.2.0/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:233:in `execute'