Git Philosophy And Practice References
http://www.eecs.harvard.edu/~cduan/technical/git/
http://ariejan.net/2009/06/08/best-practice-the-git-development-cycle/
http://www.eecs.harvard.edu/~cduan/technical/git/
http://ariejan.net/2009/06/08/best-practice-the-git-development-cycle/
quantity – quantities and measurements for Ruby.
phone – phone number parsing and validation for Ruby.
simple_facebook_connect – adds Facebook connect’s signin/signout options to your Rails application.
snippy – pastie/gist clone on Rails.
carmen – A simple collection of geographic names and abbreviations for Rails apps (includes replacements for country_select and state_select)
phd – Heroku still deployments for passenger.
tartarus – an exception notifier for rails.
Easy enough:
sudo su -
Enter your password… With great power comes great responsibility.
Clear out MySql: svcadm clear mysql
I am making the transition from attachment_fu to paperclip on a very large project of mine. I wrote the following method, inside of my old attachment_fu model ItemImage to do the work. I wrote it to run from inside the rails console. It gives handy messages out letting you know what happened. In my case you run:
$ script/console >> ItemImage::convert_fu
def self.convert_fu
for item in Item.all
# has an image
if item.item_image
# the image exists
filename = "public" + item.item_image.public_filename
if File::exists?(filename)
image = File.open(filename)
item.image = image
item.save
puts "#{item.name} Image Converted"
else
puts "====> #{item.name} Image could not be found"
end
else
puts "#{item.name} has no image"
end
end
end
Reference: http://thewebfellas.com/blog/2008/11/2/goodbye-attachment_fu-hello-paperclip
An interesting service to manage mailing lists:
http://www.mailchimp.com/
http://github.com/mandarinsoda/acts_as_chimp/
My research led me here: http://www.francisfish.com/getting_the_number_of_months_between_two_dates_in_rubyrails.htm
This is the method I came up with:
def self.months_between( startdate=Time.now, enddate=Time.now ) startdate ||= Time.now enddate ||= Time.now (enddate.month - startdate.month) + 12 * (enddate.year - startdate.year) end
I’m using Sphinx and Ultrasphinx for the search engine on one of my projects. I have been struggling with ways to automated the indexing of the database as the commands are rake commands on the command line. Turns out that rufus-scheduler is an excellent solution to this issue. If you allow the scheduler access to the rake file, it is as simple as this schedule below – it is designed to reindex every 90 minutes. I have chose to use the ultrasphinx:bootstrap command because it also has the God like quality of making sure the search server is running at all times.
config/initializers/task_schedule.rb
require 'rake'
require 'rufus/scheduler'
load File.join( RAILS_ROOT, 'Rakefile')
scheduler = Rufus::Scheduler.start_new
scheduler.every("90m") do
Rake::Task["ultrasphinx:bootstrap"].invoke
end
Webrat:
Integration Testing:
One thing I liked about rspec was the ability to define tests that you had not yet written. That way you could remind yourself when running the test suite that there are things still to do. Previously in Shoulda, I have been writing these kinds of tests in all caps and using “assert false” to trigger failure and remind me of future work. Turns out there is a nifty way to do it with Shoulda. (I should have guessed there would be!)
should_eventually "do something" #or just leave off the block should "do something"
Thanks to BlenderBox for bringing this to my attention while researching Shoulda integration testing.
function mysqlTimeStampToDate(timestamp) {
//function parses mysql datetime string and returns javascript Date object
//input has to be in this format: 2007-06-05 15:26:02
var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}