Skip to content

Instantly share code, notes, and snippets.

View tmilewski's full-sized avatar
👋

Tom Milewski tmilewski

👋
View GitHub Profile
class ApplicationController < ActionController::Base
protected
def rescue_optional_error_file(status_code)
known_codes = ["404", "422", "500"]
status = interpret_status(status_code)
if known_codes.include?(status_code)
render :template => "/errors/#{status[0,3]}.html.erb", :status => status, :layout => 'application.html.erb'
else
render :template => "/errors/unknown.html.erb", :status => status, :layout => 'application.html.erb'
@tmilewski
tmilewski / gist:132033
Created June 18, 2009 17:31
Trying to get the num of faculty assoc w/ a dept incl. the depts w/o any associations
SELECT d.id as dept_id, d.department, count(f.id) as cnt
FROM departments d JOIN faculty f ON f.department_primary = d.id
GROUP BY d.department
UNION
SELECT d.id as dept_id, d.department, 0 as cnt
FROM departments d
WHERE d.id NOT IN (SELECT DISTINCT(department_primary) FROM faculty)
ORDER BY department ASC
#!/bin/sh
# Author: John Trupiano
# Script to upgrade an REE installation on a hot server and maintain sane directory names
if [ "$(whoami)" != "root" ]; then
echo "You need to be root to run this!"
exit 2
fi
RF_RELEASE=58677
<?php
$csv_terminated = "\n";
$csv_separator = ",";
$csv_enclosed = '"';
$csv_escaped = "\\";
$db = new mysqli('[HOST]', '[USERNAME]', '[PASSWORD]', '[DATABASE]');
$result = $db->query("SELECT * FROM [TABLE]");
$field_count = $result->field_count;
@tmilewski
tmilewski / gist:620644
Created October 11, 2010 15:00
$field_input_name always returns NULL. It doesn't get much simpler than this.
<?php
# Testing without inputs
function _xprofile_registration_display_field( $field_input_name = 'field_1' ) {
$fields = array(
'field_1' => true,
'field_10' => true,
'field_2' => true,
'field_4' => true,
'field_6' => false
);
@tmilewski
tmilewski / lowerword.sql
Created October 18, 2010 14:08
MySQL: Title Case
-- --------------------------------------------------------------------------------
-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `lowerword`( str VARCHAR(128), word VARCHAR(5) ) RETURNS varchar(128) CHARSET utf8
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE loc INT;
@tmilewski
tmilewski / railscasts.rb
Created January 2, 2011 09:37
Download all Railscasts Episodes
require 'rubygems'
require 'hpricot'
require 'open-uri'
doc = open('http://railscasts.com/') { |f| Hpricot(f) }
total_episodes = (doc/'div.number').first.inner_html[1,3].to_i
total_pages = (total_episodes / 10).ceil
(1..total_pages).each do |i|
puts "PAGE #{i} ================================"
@tmilewski
tmilewski / gist:820666
Created February 10, 2011 15:11
Verbose be_valid RSpec matcher
RSpec::Matchers.define :be_valid do
match do |model|
model.valid?
end
failure_message_for_should do |model|
"expected valid? to return true, got false:\n #{model.errors.full_messages.join("\n ")}"
end
failure_message_for_should_not do |model|
@tmilewski
tmilewski / jquery.getScript.js
Created March 31, 2011 15:23
Replace the normal jQuery getScript function with one that supports debugging and which references the script files as external resources rather than inline. Helps with debugging in IE.
// Helps with IE debugging.
jQuery.extend({
getScript: function(url, callback) {
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
var done = false; // Handle Script loading
script.src = url;
script.onload = script.onreadystatechange = function() { // Attach handlers for all browsers
if ( !done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") ) {
@tmilewski
tmilewski / jquery.filterBy.custom.js
Created April 13, 2011 22:46
Filters a select field based a selection from another.
$(document).ready(function() {
$('.search select#search_tour_stop').filterBy('.search select#search_year');
}
jQuery.fn.filterBy = function(watch) {
options = new Array;
target = $(this);
target.find('option').each(function(index, option) {