Skip to content

Instantly share code, notes, and snippets.

Eric Hurst erichurst

Block or report user

Report or block erichurst

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Twitter Gem Geocode Examples
require 'twitter'
Twitter::Search.new.geocode(39.037, -94.5874, '5mi').fetch().results
#=> all tweets within 5 miles of lat/lon
Twitter::Search.geocode(39.037, -94.5874, '5mi').fetch().results.first
#=> most recent tweet within 5 miles of lat/lon
Twitter::Search.new('dinner').geocode(39.037, -94.5874, '5mi').fetch().results
#=> all tweets containing the word 'dinner' within 5 miles of lat/lon
View Geo.js
var Geo = navigator.geolocation, // {Object|null} a shortcut to the geolocation static class
options = { // {Object} options available to calls for position
enableHighAccuracy: false, // {Boolean} Whether or not to use more resources to get a more accurate position
maximumAge: 0, // {Number|Infinity} The maximum number of milliseconds since the last check.
timeout: null // {Number|null} The maximum number of milliseconds to wait for a fix
},
watchId; // {Number} an ID to a watch timeout
// handles an error finding the user's position
function onError(error) {
View elder.rb
class Elder < ActiveRecord::Base
def self.increment_distribution_count(user_id)
self.find_by_user_id(user_id).increment!(:distribution_count)
end
end
View dontdothis.rb
class UsersController < ApplicationController
...
def create
referral_id = User.find_valid_referral(params[:user][:referral])
@user = User.new(params[:user].merge(:referral_id => referral_id))
...
end
...
end
View first_bad_solution.rb
def create
referral = User.find_by_username(params[:user][:referral])
@user = User.new(params[:user].merge(:referral_id => referral.id))
end
View a_better_approach.rb
class User < ActiveRecord::Base
...
def self.find_valid_referral(username)
user = User.find_by_username(username)
if user.nil?
nil
else
user.id
end
end
View much_better_user.rb
def self.find_valid_referral(username)
case
when username.blank? then EarlyAdopter.first(:group => "distribution_count ASC").user_id
when !username.blank? && self.exists?(:username => username) then User.find_by_username(username).id
else nil
end
end
View referrer_must_be_existing_user.rb
def referrer_must_be_existing_user
errors.add(:referral_id, "is not a valid user") if referral_id.blank?
end
View full_solution.rb
class User < ActiveRecord::Base
validate_on_create :referrer_must_be_existing_user
...
def self.find_valid_referral(username)
case
when username.blank? then Elder.first(:group => "distribution_count ASC").user_id
when !username.blank? && self.exists?(:username => username) then User.find_by_username(username).id
else nil
end
end
View Rails MongoMapper Template.rb
# mongo_template.rb
# fork of Ben Scofield's Rails MongoMapper Template (http://gist.github.com/181842)
#
# To use:
# rails project_name -m http://gist.github.com/gists/219223.txt
# remove unneeded defaults
run "rm public/index.html"
run "rm public/images/rails.png"
run "rm public/javascripts/controls.js"
You can’t perform that action at this time.