Skip to content

Instantly share code, notes, and snippets.

View jeremywrowe's full-sized avatar
❤️
Coding

Jeremy W. Rowe jeremywrowe

❤️
Coding
View GitHub Profile
@jeremywrowe
jeremywrowe / ember_controller_inheritance.js
Created January 21, 2013 20:48
Controller Inheritance, Ember, and me.
RoflCopter.ApplicationController = Ember.Controller.extend({
sharedBehavior: function() {
return "A winner is you!!!";
}.property()
});
RolfCopter.AnotherController = RoflCopter.ApplicationController.extend({
importantStuff: function() {
var ohBeehave = this.get("sharedBehavior");
@jeremywrowe
jeremywrowe / keyword_arguments.rb
Created November 11, 2012 05:23
keyword arguments ruby 2.0 with defaults
def something_fun(dump: "truck", tree: "hugger")
puts "#{dump} #{tree}"
end
something_fun
module ModuleExtensions
refine String do
def foo
puts "bar"
end
end
end
class Poop
@jeremywrowe
jeremywrowe / items_controller.rb
Created November 1, 2012 03:15
DRY controller...
class ItemsController < ApplicationController
def index
@items = Item.all
end
def create
@item = Item.new(allowable_params)
update_or_create @item, :save
end
@jeremywrowe
jeremywrowe / rgversion
Created October 31, 2012 23:56
A ruby command line script to check the version of a gem on rubygems.org
#!/usr/bin/env ruby
require 'gems'
gem_name = ARGV[0]
results = Gems.versions(gem_name)
if results.instance_of? Array
puts (results.first)["number"]
else
puts "Could not find any versions for #{gem_name}"
end
@jeremywrowe
jeremywrowe / rgstats
Created October 31, 2012 23:54
check ruby gem download counts :D
#!/usr/bin/env ruby
require 'gems'
%w{buildem dbuilder}.each do |gem|
puts "#{gem} downloaded: #{Gems.total_downloads(gem)[:total_downloads]}"
end
@jeremywrowe
jeremywrowe / rrtime
Created October 25, 2012 23:13
a little reminder about rails time helpers :)
#!/usr/bin/env ruby
require 'colorize'
puts <<-HDOC
#{"2.hours.ago".green} # => Fri, 02 Mar 2012 14:02:42 CET +01:00
#{"1.day.from_now".green} # => Fri, 02 Mar 2012 22:04:47 JST +09:00
#{"Date.today.to_time_in_current_zone".green} # => Fri, 02 Mar 2012 00:00:00 JST +09:00
#{"Time.zone.parse(\"2012-03-02 16:05:37\")".green} # => Fri, 02 Mar 2012 16:05:37 JST +09:00
#{"Time.zone.now".green} # => Sat, 03 Mar 2012 00:07:37 JST +09:00
#{"Time.zone.today".green} # If you really can't have a Time or DateTime for some reason
@jeremywrowe
jeremywrowe / gist:3924699
Created October 20, 2012 20:32
thoughts on rerouting gem
path_loader = Rerouter.setup(self)
path_loader.load do |loader|
# Updating the defaults
loader.match_strategy :end # only applies to strings [:fullname, :beginning, :end]
loader.pattern "Raout" # "" or /something/
loader.extension [:rb, :route]
isolated_routes_path = File.join(Rails.root, 'config', 'routes')
# Loading something out of band
@jeremywrowe
jeremywrowe / gist:3916364
Created October 19, 2012 05:15
Fun with delegation / blocks
require 'delegate'
class Router
def match(path, &block)
puts "match: #{path}"
puts instance_eval(&block) if block_given?
end
def resource(name, &block)
puts "resource: #{name}"
class Foo
class << self
def one(val)
tap { @one = val }
end
def two(val)
tap { @two = val }
end