Skip to content

Instantly share code, notes, and snippets.

View dougalcorn's full-sized avatar

Doug Alcorn dougalcorn

View GitHub Profile
@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 / 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 / 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 / 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 / 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 / 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 / kit.rb
Created December 30, 2010 20:34
Non-trivial factory_girl with associations
Factory.define(:kit) do |f|
f.association :primary_palette, :factory => :palette # association doesn't match class name
f.association :secondary_palette, :factory => :palette
f.association :user, :factory => :user
f.sequence(:name) { |i| "Kit#{i}" }
f.bg_images { |images| [images.association(:attachment)] } # has_many assoc
f.default false
f.display_fonts { [Factory(:font), Factory(:font)] }
f.body_font { Factory(:font) }
end
@dougalcorn
dougalcorn / active_model_initialize.rb
Created December 30, 2010 21:34
some template code using ActiveModel::MassAssignmentSecurity to initialize with hash
class Person
include ActiveModel::MassAssignmentSecurity
attr_accessor :name, :birthday, :handsomeness
attr_protected :handsomeness
def initialize(params = {})
self.attributes = params
end
@dougalcorn
dougalcorn / gist:842807
Created February 24, 2011 20:18
rvm jruby problem with scripts
$ bundle
/Users/dalcorn/.rvm/gems/jruby-1.5.6@mimosa2/bin/bundle: line 9: require: command not found
/Users/dalcorn/.rvm/gems/jruby-1.5.6@mimosa2/bin/bundle: line 11: version: command not found
/Users/dalcorn/.rvm/gems/jruby-1.5.6@mimosa2/bin/bundle: line 13: syntax error near unexpected token `('
/Users/dalcorn/.rvm/gems/jruby-1.5.6@mimosa2/bin/bundle: line 13: `if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then'
$ which bundle
/Users/dalcorn/.rvm/gems/jruby-1.5.6@mimosa2/bin/bundle
$ ls -l `which bundle`
-rwxr-xr-x 1 dalcorn staff 410 Feb 24 15:09 /Users/dalcorn/.rvm/gems/jruby-1.5.6@mimosa2/bin/bundle*
$ head `which bundle`
From 7b7505ad8836f6fa9e613a29534bb9536defea44 Mon Sep 17 00:00:00 2001
From: Doug Alcorn <dougalcorn@gmail.com>
Date: Wed, 11 May 2011 16:59:45 -0400
Subject: [PATCH] updating the few attribute types from value_class number to
measure [#13103329]
---
3-XML-Ref-Data/CCOM Reference Data.xml | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)