Skip to content

Instantly share code, notes, and snippets.

View mrdanadams's full-sized avatar

Dan Adams mrdanadams

  • Ground Signal
  • Boston, MA
View GitHub Profile
@mrdanadams
mrdanadams / controller.rb
Created March 28, 2012 21:40
db.eval() and server-side updates on MongoDB with the Ruby driver
# Records the vote against 2 items.
# Both parameters are strings
def record_votes(winner_id, loser_id)
# grab the connection from the underlying driver
db = Mongoid::Config::master
# a future improvement would be to store this away somewhere, perhaps as a constant
# note: javascript comments added for the post: they are not in the real code
f = """
function(winner_id, loser_id) {
@mrdanadams
mrdanadams / application-ie.coffee
Created May 2, 2013 13:05
Conditionally loading jQuery / Zepto.js in Rails 3
#= require jquery
#= require application.js
@mrdanadams
mrdanadams / .buildpacks
Created June 22, 2013 01:34
Adding Geos and Proj4 support to Heroku using buildpacks
https://github.com/peterkeen/heroku-buildpack-vendorbinaries.git
https://github.com/aaronrenner/heroku-buildpack-rgeo-prep.git
https://github.com/kr/heroku-buildpack-inline.git
https://github.com/heroku/heroku-buildpack-ruby.git
@mrdanadams
mrdanadams / examples.scala
Created August 3, 2011 16:36
Scala Language Examples
/*
* var vs val and defining variables
*/
var changeMe = 1 // variable assignment
val dontChangeMe = 2 // constant assignment
changeMe = 3
assert(changeMe == 3)
// this causes the error: reassignment to val
@mrdanadams
mrdanadams / _pems.scss
Created March 29, 2012 13:32
PX to EMs conversion in Sass
/* See http://mrdanadams.com/2012/pixel-ems-css-conversion-sass-mixin/ */
/* Default font size in pixels if not overridden. */
$baseFontSize: 16;
/* Convert PX units to EMs.
Ex: margin-right: pem(16);
*/
@function pem($pxval, $base: $baseFontSize) {
@return #{$pxval / $base}em;
@mrdanadams
mrdanadams / controller_spec.rb
Created March 28, 2012 21:45
Testing MongoDB with Mongoid, RSpec, and Rails
# do our update
@controller.record_votes(winner._id.to_s, loser._id.to_s)
# will this pass or fail? who knows!?
Item.count(conditions:{ votes:1 }).should == 0
@mrdanadams
mrdanadams / Gemfile
Created March 28, 2012 21:31
Using Sunspot, Websolr, and Solr on Heroku
gem 'sunspot_rails'
gem 'kaminari'
gem 'sunspot_with_kaminari'
@mrdanadams
mrdanadams / create_origin.sh
Created November 22, 2011 20:48
Private github repos
$ cd git
$ mkdir yourproject.git
$ cd yourproject.git
$ git --bare init
@mrdanadams
mrdanadams / application.js
Created March 28, 2012 20:41
Updating a DIV with partials after remote AJAX form submit in Rails 3
$(function() {
/* Convenience for forms or links that return HTML from a remote ajax call.
The returned markup will be inserted into the element id specified.
*/
$('form[data-update-target]').live('ajax:success', function(evt, data) {
var target = $(this).data('update-target');
$('#' + target).html(data);
});
});
@mrdanadams
mrdanadams / some_spec.rb
Created March 30, 2013 02:38
Triggering custom events with capybara-webkit using jQuery $.trigger
def trigger(selector, name, options={})
# if you return the default object capybara tries to parse the jquery object
page.evaluate_script("$('#{selector}').trigger(jQuery.Event('#{name}', #{options.to_json})); undefined")
end
it 'triggers a couple events' do
# Ex: lets simulate a drag and drop
trigger '.canvas', :mousedown, {pageX:200, pageY:300}
trigger '.canvas', :mousemove, {pageX:400, pageY:400}
trigger '.canvas', :mouseup