github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

napcs / lazy_developer

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 84
    • 8
  • Source
  • Commits
  • Network (8)
  • Issues (1)
  • Downloads (7)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (4)
    • gem_2.0
    • generator_log
    • master ✓
    • nuke_fixes
  • Tags (7)
    • rel_1-1-9
    • rel_1-1-8
    • rel_1-1-6
    • rel_1-1-5
    • rel_1-1-3
    • rel_1-1-2
    • rel_1-1-1
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

Rake tasks to make working with Rails apps a bit easier. — Read more

  cancel

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Updated to 1.1.9 - no major changes ,just version bump to fix a version 
constant issue 
Brian Hogan (author)
Tue Aug 25 11:30:29 -0700 2009
commit  9f1f1ad540dc6914e1d484066cb064196c3c6c27
tree    1b1871cee58d721f6e40c7864ff3eeadd7a2aa1a
parent  6f0aba08efeb929c15715101f3d63d56d85ed56b
lazy_developer /
name age
history
message
file .gitignore Loading commit data...
file CHANGES
file MIT-LICENSE
file README.rdoc
directory tasks/
README.rdoc

LazyDeveloper

Copyright (C) 2007-2009 Brian P. Hogan and Kevin Gisi

Developers are lazy. I know I am. If I have to do things over and over, I want them to be automated. Maybe that’s efficient and not lazy. However, lazy is a shorter word and it’s funnier to call this plugin LazyDeveloper.

This plugin provides some useful Rake tasks that will make your life a little easier. I use them in many of my projects and I invite you to do the same.

Usage

Nuke

The Nuke tasks make cleaning up your project a breeze.

Let’s say a previous developer generated some controllers, models, helpers, and views using scaffolding and a healthy mix of broken Test::Unit test cases. You’ve already generated a nice RESTful controller, correctly pluralized while the original ones are not. When you look in your controllers folder, you see this:

  account_controller.rb
  accounts_controller.rb

If you want to clean this up, you’d have to delete these files like so:

  rm -rf app/controllers/account_controller.rb
  rm -rf app/helpers/account_helper.rb
  rm -rf app/views/account
  rm -rf test/functionals/account_controller_test.rb

Well, with the Nuke tasks, you can do this easily:

  rake nuke:vc:account

The ‘vc’ is for view and controller. It’ll take out the whole controller and view combination, including the helper too. It’ll blow away any specs or tests associated, and it’ll detect if you’re using svn or git, so instead of deleting the files directly, it will schedule them for deletion via your source control system.

The nuke tasks can be quite granular.

 * rake nuke:model:user / rake nuke:m:user
 * rake nuke:controller:user / rake nuke:c:user
 * rake nuke:views:user / rake nuke:v:user
 * rake nuke:helper:user
 * rake nuke:vc:user
 * rake nuke:mvc:user

The only thing these tasks won’t do is remove migrations, and that’s cos I think that’s dangerous

Databases

rake db:migrate

Everyone I know forgets to clone the test database when they make changes, so I decided to override rake:db:migrate so that when you run it, it automatically clones the test database, which is really useful if you run tests individually via TextMate or through the command line.

  rake db:migrate
  rake db:migrate:up
  rake db:migrate:down

are all supported.

rake db:migrate:compact

Uses schema.rb to construct a brand new clean migration and moves all of your existing migrations out of the way. This might at first seem to violate the spirit of migrations, but honestly sometimes large projects have a LOT of migrations and it can get difficult to manage these files.

rake db:remigrate

Sometimes you just need to wipe out your database tables and start over. This task drops your tables and starts over by dropping the tables directly and then re-running your migrations. This provides a great way to test to make sure you haven’t broken migrations at some point, which will happen to you at some point.

rake db:to_yaml

Dump your database to fixtures. Stores them in RAILS_ROOT/production_data. You can then use this to load the data back into another database, even one of a different type. We’ve used this to move data from SQL Server to MySQL and back again.

rake db:from_yaml

Load fixtures from RAILS_ROOT/production_data into your database. Loads fixtures dumped by using rake db:export

Subversion

rake svn:root

Displays the root of your repository

rake svn:tags

Displays all the tags. Assumes you use a tags/ folder and a /trunk folder

rake svn:tags:last

Displays the last tag.

rake svn:tag TAG=rel_1-0-0

Creates a new tag from the trunk.

Rcov

We’re fans of RCov and we’ve included some ways to make it easier to use RCov in your projects.

Test::Unit

In order to use the Test::Unit coverage tasks, you’ll need to install the Rails_rcov plugin

  ruby script/plugin install http://svn.codahale.com/rails_rcov/

This is not needed if your project uses Rspec.

rake test:models:rcov

Runs coverage on your models

rake test:controllers:rcov

Runs coverage on your controllers

rake test:rcov:full

Runs coverage on models and controllers

RSpec

Rspec already includes the ability to get code coverage, but we made it just as focused and granular as we made the tasks for Test::Unit

rake spec:models:rcov

Coverage for models

rake spec:controllers:rcov

Coverage for controllers

rake spec:views:rcov

Coverage for views

rake spec:helpers:rcov

Coverage for helpers

rake spec:lib:rcov

Coverage for files in lib/

Test::Unit

Running individual tests

Based on an idea from Geoffrey Grosenbach, you can run all tests in units\user_test.rb by doing

  rake test:units:user:all

Or run a specific test by specifying all or part of a name. For example, if I wanted to run the "test_create" test case, I would use

  rake test:units:user:create

The same rules apply to functional tests

  rake test:functionals:users:list

RSpec

RSpec gets some love here. If you need nice output for your specs, we overrode some of the built-in specs.

rake spec:models

Runs all model specs

rake spec:controllers

Runs all controller specs

Running a specific model or controller spec

  rake spec:model:user
  rake spec:controller:sessions

Plugins

Create a file in your Home folder called .plugins and you can have all of your favorite plugins easily installed by doing

   rake rails:install:plugins

Just put each plugin name or repository on its own line.

Windows users need to set the HOME environment variable.

Cleaning Up

Run

  rake rails:clear

to clean up tmp, logs, and docs in one easy command.

Copyright © 2007-2009 Brian Hogan and Kevin Gisi. Released under the MIT license

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server