Skip to content

Instantly share code, notes, and snippets.

View shaundon's full-sized avatar

Shaun Donnelly shaundon

View GitHub Profile
// Rest of code omitted.
.directive('myDirective', function () {
return {
restrict : 'E',
templateUrl : '/templates/directives/mydirective.html',
replace : true
}
})
@shaundon
shaundon / webpage.rb
Created March 6, 2014 12:34
Takes a POST request, and opens a webpage.
require 'sinatra'
require 'launchy'
set :port, 7428
post '/webpage' do
begin
Launchy.open(params[:url])
rescue
print 'Failed :('
/*
Call start() on console to run program.
May be a little rough around the edges, I'm trying to remember the
jQuery API from memory as my home internet's too slow to Google stuff.
Oh and it requires jQuery, because everything requires jQuery!
*/
function start() {
@shaundon
shaundon / pascals-triangle.js
Created June 20, 2014 08:59
Creates a 2D array that contains a pascal's triangle.
function pascal(rows) {
var pascalsTriangle = [];
for (var row=1; row<=rows; row++) {
var rowResults = [];
if (pascalsTriangle[row-2]) {
var aboveRow = pascalsTriangle[row-2];
@shaundon
shaundon / jasmine_throw_error_test.js
Created January 22, 2015 13:24
How to run a Jasmine test that throws an error
expect(function() {
// Call the code here.
}).toThrow(new Error('some error'));
@shaundon
shaundon / deep_omit.js
Last active August 29, 2015 14:16
Like underscore's omit function, but works deeply. Works on both objects and arrays. Requires underscore.
var deepOmit = function(input, propertyToRemove) {
var output = input;
if (_.isArray(input)) {
output = [];
_.each(input, function(arrayItem) {
output.push(deepOmit(arrayItem, propertyToRemove));
});
}
else if (_.isObject(input)) {
output = {};

understanding first/third party cookie behaviour

scenario 1

  1. set cookie from foo.example.com with no domain
  2. is it readable by foo.example.com?
  3. is it readable by bar.example.com?
  4. is it overwritable by bar.example.com?

scenario 2

@shaundon
shaundon / basic-spans.html
Created September 18, 2012 19:12
Three basic spans
<span class="button_toggle left">Left<span>
<span class="button_toggle">Middle</span>
<span class="button_toggle right">Right</span>
@shaundon
shaundon / button_toggle.css
Created September 18, 2012 19:40
The CSS for button_toggle
.button_toggle {
/* Light grey border. */
border: 1px solid #ccc;
/* Slightly darker bottom border. */
border-bottom-color:#aaa;
/* Padding. */
padding:4px 6px;
@shaundon
shaundon / button_toggle_hover.css
Created September 18, 2012 20:00
Button Toggle Hover State
.button_toggle:hover {
color:#333;
}
.button_toggle:active {
background-color:#dcdcdc;
color:#555;
background-image:-webkit-gradient(linear,left top,left bottom,from(#dcdcdc),to(#e6e6e6));
background-image:-webkit-linear-gradient(top,#e6e6e6,#dcdcdc);
background-image:-moz-linear-gradient(top,#e6e6e6,#dcdcdc);