Skip to content

Instantly share code, notes, and snippets.

View astevens's full-sized avatar

Andrew Stevens astevens

  • Digital Impact
  • Twin Cities, MN
View GitHub Profile
@astevens
astevens / vin.rb
Created January 19, 2015 20:56
Find vehicle manufacturer from VIN
class VIN
WMI = {
'10T' => {:name =>'Oshkosh'},
'11V' => {:name =>'Ottawa'},
'137' => {:name =>'Hummer'},
'15G' => {:name =>'Gillig'},
'17N' => {:name =>'John Deere'},
'16V' => {:name => 'Bix Tex'},
'18X' => {:name =>'WRV'},
'19U' => {:name =>'Acura'},
@astevens
astevens / rabl.rb
Created December 8, 2014 20:30
format all dates and times as iso iso8601 in RABL output
# config/initializers/rabl.rb
# monkey patch to format date automatically
module Rabl
class Configuration
attr_accessor :force_iso_dates
end
class Builder
def to_hash(object = nil, settings = {}, options = {})
@_object = object if object
@options.merge!(options) if options
@astevens
astevens / Gemfile
Created October 11, 2014 17:07
Gemfile with local merb gems
source 'https://rubygems.org'
# gem 'merb', :path => '../merb/merb'
gem 'merb-gen', :path => '../merb/merb-gen'
gem 'merb-core', :path => '../merb/merb-core'
gem 'merb-haml', :path => '../merb/merb-haml'
gem 'merb-action-args', :path => '../merb/merb-action-args'
gem 'merb-assets', :path => '../merb/merb-assets'
gem 'merb-cache', :path => '../merb/merb-cache'
gem 'merb-exceptions', :path => '../merb/merb-exceptions'
@astevens
astevens / Gemfile
Created October 11, 2014 17:06
Gemfile with updated merb gems
source 'https://rubygems.org'
git 'https://github.com/astevens/merb.git', :branch => 'active_support' do
# gem 'merb'
gem 'merb-gen'
gem 'merb-core'
gem 'merb-haml'
gem 'merb-action-args'
gem 'merb-assets'
gem 'merb-cache'
@astevens
astevens / hn.rb
Created October 8, 2014 03:05
Hacker News API demo
#! /usr/bin/env ruby
require 'rest-firebase'
f = RestFirebase.new :site => 'https://hacker-news.firebaseio.com',
:log_method => method(:puts),
:auth => false
@top_stories = []
topstories_service = f.event_source('v0/topstories').onmessage do |event, data|
puts "Recived #{event}"
@astevens
astevens / kbb_s.rb
Created April 25, 2011 20:44
Kelly Blue Book scraper - lists all auto makes and models
#
# author: Konstantin Gredeskoul © 2008
# license: public domain
#
require 'net/http'
require 'uri'
module KBB
MODELS_URL = "http://scripts.kbb.com/kbb/ymmData.axd?VehicleClass=UsedCar"
# this hack works around inline c libs that return false in successfull load
class Inline::C
def load
require "#{so_name}"
#below is the original version which breaks
#require "#{so_name}" or raise LoadError, "require on #{so_name} failed"
end
end
# now we are ready to load
module Merb::Helpers::Form::Builder
class Base
private
def options_for(attrs)
blank, prompt = attrs.delete(:include_blank), attrs.delete(:prompt)
b = blank || prompt ? tag(:option, prompt || "", :value => "") : ""
# yank out the options attrs
collection = attrs.delete(:collection)
selected = attrs.delete(:selected)
@astevens
astevens / gist:869935
Created March 14, 2011 21:36
Merb/Mongoid fix for ParseTree gem
module Mongoid
module Extensions
module Object
module Reflections
extend ActiveSupport::Concern
alias :invar :ivar
undef :ivar
def invar(name)
if instance_variable_defined?("@#{name}")
return instance_variable_get("@#{name}")