Skip to content

Instantly share code, notes, and snippets.

View tibbon's full-sized avatar

David Fisher tibbon

View GitHub Profile
@tibbon
tibbon / git
Created June 17, 2013 23:22 — forked from chyld/git
# ----------------------------------------------------------------- #
REFERENCES
# ----------------------------------------------------------------- #
http://ndpsoftware.com/git-cheatsheet.html
# ----------------------------------------------------------------- #
BASIC
# ----------------------------------------------------------------- #
@tibbon
tibbon / gist:5959868
Created July 9, 2013 18:27
Join tables without IDs

These need to be backed up by a migration to create the assemblies_parts table. This table should be created without a primary key:

class CreateAssembliesPartsJoinTable < ActiveRecord::Migration
  def change
    create_table :assemblies_parts, id: false do |t|
      t.integer :assembly_id
      t.integer :part_id
    end
 end
@tibbon
tibbon / book.rb
Created July 9, 2013 19:25
Attr Accessible
class Book < ActiveRecord::Base
# Other stuff should go up here, the following is an example of attr_accessible to allow mass assignment
# Mass assignment is when you do something like Book.create(title: "1984")
attr_accessible :title
end
@tibbon
tibbon / gist:5961328
Created July 9, 2013 21:11
July 9th Reading
@tibbon
tibbon / gist:5962843
Created July 10, 2013 01:39
Validating uniqueness at the DB/migration level
class AddUniquenessIndexToYears < ActiveRecord::Migration
def change
add_index :years, [:award_id, :book_id], :unique => true
end
end
@tibbon
tibbon / gist:6065875
Created July 23, 2013 20:29
Javascript Scope
function calculateHeight(startPoint, endPoint) {
// This function has access to startPoint and endPoint. Nothing else does.
return Math.abs(startPoint - endPoint)
}
function calculateWidth(startWidth, endWidth) {
// Function arguments act as local. ie. startWidth here is local
// This function has access to startWidth and endWidth. Nothing else does.
// Does this have access to a, b, x, y? No
// Does this have access to q? No
@tibbon
tibbon / gist:6073142
Last active December 20, 2015 04:48
Objects and Prototype
// String literal, string primitive
// This is not an object
// This doesn't have any of its own functions
var schoolName = "General Assembly"
// When I call this, it temporarily makes a String Object around it.
// Slower. I'll talk about why in a second
var upperCaseSchoolName = schoolName.toUpperCase
/*
@tibbon
tibbon / gist:6115993
Created July 30, 2013 19:20
ATM Solution
var checkingBalance = 0;
var savingsBalance = 0;
// replace window.onload
$(function() {
$("#checkingDeposit").click(depositChecking);
$("#savingsDeposit").click(depositSaving);
$("#checkingWithdraw").click(withdrawChecking);
$("#savingsWithdraw").click(withdrawSaving);
updateDisplay();
@tibbon
tibbon / stream.rb
Created August 9, 2013 18:35
tweet stream
require 'tweetstream'
TweetStream.configure do |config|
config.consumer_key = 'YOUR-KEY'
config.consumer_secret = 'YOUR-SECRET'
config.oauth_token = 'YOUR-OAUTH'
config.oauth_token_secret = 'YOUR-OAUTH-SECRET'
config.auth_method = :oauth
end
@tibbon
tibbon / gist:6222633
Created August 13, 2013 15:55
Infinite Scroll Logic
$(window).scroll(function() {
// Cache our jQuery selector for window
var win = $(window);
// Infinite scroll math!
if(win.height() + win.scrollTop() >= $(document).height()) {
populateCountries();
}
});