Skip to content

Instantly share code, notes, and snippets.

View trevorturk's full-sized avatar

Trevor Turk trevorturk

  • Chicago
View GitHub Profile
@trevorturk
trevorturk / gist:5516046
Last active December 16, 2015 23:49
Insert an additional, separate set of fixtures from db/seeds
desc "Insert an additional, separate set of fixtures from db/seeds"
task :seed_fixtures => :environment do
require 'active_record/fixtures'
files = "#{Rails.root}/db/seeds/*.yml"
connection = ActiveRecord::Base.connection
fixtures = Dir[files].collect do |file|
extname = File.extname(file)
name = File.basename(file).chomp(extname)
@trevorturk
trevorturk / gist:366598
Created April 15, 2010 01:59
Automated Heroku Backups
namespace :heroku do
desc "PostgreSQL database backups from Heroku to Amazon S3"
task :backup => :environment do
begin
require 'right_aws'
puts "[#{Time.now}] heroku:backup started"
name = "#{ENV['APP_NAME']}-#{Time.now.strftime('%Y-%m-%d-%H%M%S')}.dump"
db = ENV['DATABASE_URL'].match(/postgres:\/\/([^:]+):([^@]+)@([^\/]+)\/(.+)/)
system "PGPASSWORD=#{db[2]} pg_dump -Fc --username=#{db[1]} --host=#{db[3]} #{db[4]} > tmp/#{name}"
s3 = RightAws::S3.new(ENV['s3_access_key_id'], ENV['s3_secret_access_key'])
@trevorturk
trevorturk / import_attachment_basecamp.rb
Created June 25, 2012 14:50 — forked from shingara/import_attachment_basecamp.rb
Script to download all attachments from a basecamp project
require 'faraday'
require 'faraday_middleware'
url_project = 'https://ciblonet.basecamphq.com'
project_id = 3684800
user_name = 'shingara'
password = 'xxxx'
class Attachment
@trevorturk
trevorturk / current.rb
Created May 7, 2012 20:27 — forked from scottweisman/current.rb
Using current_kase method in views
# concerns#current
module Current
extend ActiveSupport::Concern
...
def current_kase
@current_kase ||= Kase.find_by_id(params[:kase_id])
end
# To include methods in views
@trevorturk
trevorturk / gist:1232220
Created September 21, 2011 14:39
Basecamp API: example uploading a file and attaching to a message
curl -v -H 'Accept: application/xml' -F Filedata=@/path/to/file https://trevorturk.basecamphq.com/upload
curl -v -H 'Accept: application/xml' -H 'Content-Type: application/xml' -u TOKEN:X \
-d "
<post>
<title>Test</title>
<body>Test</body>
<attachments>
<file>
<file>ID_FROM_FIRST_REQUEST</file>
diff --git a/lib/carrierwave/mount.rb b/lib/carrierwave/mount.rb
index 906aaae..be69639 100644
--- a/lib/carrierwave/mount.rb
+++ b/lib/carrierwave/mount.rb
@@ -226,8 +226,19 @@ module CarrierWave
_mounter(:#{column}).write_identifier
end
- RUBY
+ def store_previous_model_for_#{column}
# usage: Given eval "@time = Time.now"
Given /^eval "([^"]*)"$/ do |code|
eval code
end
# config/initializers/email_logger.rb
class EmailLogger
def self.delivered_email(email)
EmailLog.create!(
:from => email.from,
:to => email.to,
:subject => email.subject,
:body => email.body.inspect,
:date => email.date
)
diff --git i/lib/carrierwave/uploader/download.rb w/lib/carrierwave/uploader/download.rb
index 123168b..5f39eae 100644
--- i/lib/carrierwave/uploader/download.rb
+++ w/lib/carrierwave/uploader/download.rb
@@ -13,7 +13,7 @@ module CarrierWave
class RemoteFile
def initialize(uri)
- @uri = URI.parse(URI.escape(uri))
+ @uri = uri
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/[\1]/'
}
export PS1="\w\$(parse_git_branch) > "