Skip to content

Instantly share code, notes, and snippets.

@robhurring
robhurring / datepicker.js
Last active Aug 29, 2015
angular pikaday
View datepicker.js
/* global angular, Ladda */
(function(module, $) {
'use strict';
module.directive('datepicker', function() {
return {
link: function postLink(scope, element, attrs) {
var today = new Date();
var minYear = 1900;
var maxYear = today.getFullYear();
@robhurring
robhurring / application.html.erb
Last active Aug 29, 2015
Capybara + Angular.js wait_for_ajax
View application.html.erb
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ohai</title>
<%= stylesheet_link_tag "application", media: "all" %>
<%= csrf_meta_tags %>
</head>
<body class="container">
@robhurring
robhurring / feature_helpers.rb
Last active Jan 21, 2016
Capybara + Angular.js wait_for_ajax
View feature_helpers.rb
require 'selenium-webdriver'
module FeatureHelpers
DEFAULT_WAIT_TIME = 30
Capybara.register_driver :poltergeist_debug do |app|
Capybara::Poltergeist::Driver.new(app,
inspector: true,
js_errors: true,
timeout: DEFAULT_WAIT_TIME
View broken_cd.sh
#!/bin/bash
set -e # works without this
set -x # debug
source "$HOME/.rvm/scripts/rvm" #so 'cd' will change gemset when dotfiles present
#setup
rm -rf ~/tmp/dir_with_gemfile
mkdir -p ~/tmp/dir_with_gemfile
@robhurring
robhurring / usage.html
Created Oct 9, 2014
Custom form validators with angular
View usage.html
<form name="form">
<label>
Password
<input
type="password"
name="password"
ng-model="password"
required>
</label>
<small class="error" ng-show="form.password.$invalid">
View battery-status.rb
#!/usr/bin/env ruby
require 'optparse'
class Battery
DEFAULT_FORMAT = "P (S: R)"
def self.status
_, percent, status, remaining, _ = %x{pmset -g batt|grep InternalBattery}.split(/\t|;/).map(&:strip)
percent.gsub!(/%/, '')
remaining.gsub!(/[\(\)]/, '')
View .zshrc
# set the finddir lookup PATH
export DEFAULT_SEARCH_PATHS="~/Sites/apps:~/Sites/gems:~/Projects"
# use `finddir` to fuzzy lookup directories
function cds {
local search=$1;
local found=$(noglob finddir $search)
if [ $? -eq 0 ]; then
cd $found
fi
@robhurring
robhurring / git-fuzzy-checkout
Created Oct 8, 2014
Fuzzy git checkout. With super awesome branch selection!
View git-fuzzy-checkout
#!/usr/bin/env ruby
require 'optparse'
module CLI
COLORS = {
black: "\e[30;1m",
red: "\e[31m",
green: "\e[32m",
blue: "\e[34m",
white: "\e[37m",
@robhurring
robhurring / geolookup.js
Created Oct 8, 2014
Geolocation zip code lookup using google maps and angular. (Demo: http://jsfiddle.net/robhurring/kL50yeek/)
View geolookup.js
(function(angular) {
'use strict';
var app = angular.module('MyApp', []);
app.factory('GeolocationSvc', [
'$q', '$window',
function($q, $window) {
return function() {
var deferred = $q.defer();
@robhurring
robhurring / app.js
Last active Aug 29, 2015
Rails status symbols in javascript (for angular)
View app.js
/* global angular */
(function(module) {
'use strict';
module.run(['$rootScope', '$state', 'Rails',
function($rootScope, $state, Rails) {
$rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {
switch(error.status) {
// or Rails.status.not_found.code (if using the version with descriptions)
case Rails.status.not_found.:
You can’t perform that action at this time.