Skip to content

Instantly share code, notes, and snippets.

View dougalcorn's full-sized avatar

Doug Alcorn dougalcorn

View GitHub Profile
@dougalcorn
dougalcorn / locateble.rb
Created December 23, 2010 18:03
Basic ruby blass with parts of an address that can be assembled into a string and geolocated with Google Maps api
GOOGLE_MAPS_API_KEY = "something"
# This is a plain old ruby class that assumes someone has give it the
# parts of an address. The end goal is to use Google to geolocate it
# and assign a lat/long
class Locateable
attr_accessor :street1, :street2, :city, :state, :country
attr_accessor :latitude, :longitude, :accuracy
# returns false if google was unable to geolocate the
@dougalcorn
dougalcorn / aligned_form_inputs.html
Created December 18, 2010 15:41
super simplistic form with css to make it line up right
<!-- http://www.quirksmode.org/css/forms.html -->
<html>
<head>
<style>
label,input {
display: block;
width: 150px;
float: left;
margin-bottom: 10px;
}
@dougalcorn
dougalcorn / harvest_api_sample.rb
Created December 18, 2010 15:39
copied from harvest api docs with some tweaks
########################################################################
#
# harvest-sample.rb
#
# Basic API demo. Use this sample as a starting point on how to
# connect, authenticate, and send requests to the Harvest API and
# handle the API throttle limit. This is not a libary, if you want one
# for Ruby, we recommend investigating ActiveResource::Base.
#
# To execute this sample, save this file to your computer and
@dougalcorn
dougalcorn / extend_pattern.rb
Created December 18, 2010 15:29
Simple pattern for how to write modules
module ExtendThroughInclude
def included(klass)
klass.extend(ClassMethods)
klass.send(:include, InstanceMethods)
end
class InstanceMethods
end
@dougalcorn
dougalcorn / gist:732472
Created December 7, 2010 21:44
parse an xsd and pull out our complext types that extend "Entity"
filename = Rails.root.join("2-XML Schema", "[OSA-EAI-CCOM-ML-XSD-V03-2]CCOM-ML_V3-2-3 (2010-11-30).xsd")
doc = Nokogiri::XML(File.read(filename))
def complex_types_of(doc,base)
hash = {}
doc.xpath("//xs:extension[@base='#{base}']").each do |extension|
complex_type = extension.parent.parent
name = complex_type[:name]
hash[name] = complex_types_of(doc,name)
end
@dougalcorn
dougalcorn / gist:724257
Created December 1, 2010 21:26
initializing hash with default values
data = []
((90.days.ago.to_date)..Date.today).each do |date|
date = date.to_formatted_s(:db)
value = db_data.has_key?(date) ? db_data[date] : 0
data << [date, value]
end
@dougalcorn
dougalcorn / copy_key.sh
Created November 5, 2010 20:05
Copy and append your public ssh key to a new host/account's authorized_keys file
#!/bin/sh
# Shell script to install your public key on a remote machine
# Takes the remote machine name as an argument.
# Obviously, the remote machine must accept password authentication,
# or one of the other keys in your ssh-agent, for this to work.
ID_FILE="${HOME}/.ssh/id_rsa.pub"
if [ "-i" = "$1" ]; then
1. Setup javaCache.cmake below
2. ./bootstrap --prefix=/usr/local --system-libs --datadir=/share/cmake --docdir=/share/doc/cmake --mandir=/share/man --init=javaCache.cmake
3. make && make install
class User < ActiveRecord::Base
has_one :candidate_profile
alias_method :candidate_profile_without_initialization :candidate_profile
def candidate_profile
candidate_profile_withough_intitialization || build_candidate_profile
end
end