Skip to content

Instantly share code, notes, and snippets.

View jakeonrails's full-sized avatar

Jake Moffatt jakeonrails

View GitHub Profile
@jakeonrails
jakeonrails / database_url.rb
Created May 22, 2012 07:01
Parse heroku DATABASE_URL
<%
require 'cgi'
require 'uri'
begin
uri = URI.parse(ENV["DATABASE_URL"])
rescue URI::InvalidURIError
raise "Invalid DATABASE_URL"
end
@jakeonrails
jakeonrails / xml_parser.rb
Created February 11, 2012 04:23 — forked from kmile/xml_parser.rb
A small nokogiri xml reader DSL.
# A small DSL for helping parsing documents using Nokogiri::XML::Reader. The
# XML Reader is a good way to move a cursor through a (large) XML document fast,
# but is not as cumbersome as writing a full SAX document handler. Read about
# it here: http://nokogiri.org/Nokogiri/XML/Reader.html
#
# Just pass the reader in this parser and specificy the nodes that you are interested
# in in a block. You can just parse every node or only look inside certain nodes.
#
# A small example:
#
@jakeonrails
jakeonrails / rubymine.log
Created January 31, 2012 21:04
rubymine markdown log
This file has been truncated, but you can view the full file.
2012-01-27 18:12:33,517 [4154324] INFO - plication.impl.ApplicationImpl - Not enough pooled threads; creating one at:
java.lang.Throwable
at com.intellij.openapi.application.impl.ApplicationImpl$1.newThread(ApplicationImpl.java:150)
at java.util.concurrent.ThreadPoolExecutor.addThread(ThreadPoolExecutor.java:672)
at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:721)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:78)
at com.intellij.openapi.application.impl.ApplicationImpl.executeOnPooledThread(ApplicationImpl.java:425)
at com.intellij.openapi.project.FileContentQueue.queue(FileContentQueue.java:85)
at com.intellij.openapi.project.CacheUpdateRunner.processFiles(CacheUpdateRunner.java:72)
@jakeonrails
jakeonrails / api.rb
Created December 14, 2011 02:27
Loading a class inside a module within Rails 3.0
# within app/importer/api.rb
module Importer
class API
# class body here
end
end
<h1>Categories</h1>
<% @categories.each do |category| %>
<ul class="X">
<li>
<h5><%= link_to category.name, category %></h5>
</li>
</ul>
<% end %>
@jakeonrails
jakeonrails / log_test_names.rb
Created November 10, 2011 00:21
Logs the current example before and after it runs
if Rails.application.config.log_test_names
RSpec.configure do |config|
config.before(:each) do |x|
Rails.logger.info('*' * 10 + 'Start Example: ' + x.example.metadata[:example_group][:full_description])
end
config.after(:each) do |x|
Rails.logger.info('*' * 10 + 'Finish Example: ' + x.example.metadata[:example_group][:full_description])
@jakeonrails
jakeonrails / report_model_creation_counts.rb
Created November 10, 2011 00:02
Spits out a report at the end of your tests on how many times each model was created
if Rails.application.config.report_model_creation_counts
class ReportModelCreationCounts < ActiveRecord::Observer
@@creates = Hash.new { |hash, key| hash[key] = 0 }
def after_create(record)
@@creates[record.class] += 1
end