February 2009 Archives

Hoe is a simple rake/rubygems helper for project Rakefiles. It generates all the usual tasks for projects including rdoc generation, testing, packaging, and deployment.

Tasks Provided:

  • announce - Create news email file and post to rubyforge.
  • audit - Run ZenTest against the package.
  • checkextradeps - Install missing dependencies.
  • check_manifest - Verify the manifest.
  • clean - Clean up all the extras.
  • config_hoe - Create a fresh ~/.hoerc file.
  • debug_gem - Show information about the gem.
  • default - Run the default task(s).
  • deps:email - Print a contact list for gems dependent on this gem
  • deps:fetch - Fetch all the dependent gems of this gem into tarballs
  • deps:list - List all the dependent gems of this gem
  • docs - Build the docs HTML Files
  • email - Generate email announcement file.
  • flay - Analyze for code duplication.
  • flog - Analyze code complexity.
  • gem - Build the gem file hoe-1.9.0.gem
  • generate_key - Generate a key for signing your gems.
  • install_gem - Install the package as a gem.
  • multi - Run the test suite using multiruby.
  • package - Build all the packages
  • post_blog - Post announcement to blog.
  • post_news - Post announcement to rubyforge.
  • publish_docs - Publish RDoc to RubyForge.
  • rcov - Analyze code coverage with tests
  • release - Package and upload the release to rubyforge.
  • ridocs - Generate ri locally for testing.
  • tasks - Generate a list of tasks for doco.
  • test - Run the test suite.
  • test_deps - Show which test files fail when run alone.

See class rdoc for help. Hint: ri Hoe

Changes:

1.9.0 / 2009-02-26:

  • 7 minor enhancements:

    • Added flog, flay, and rdoc tasks.
    • Added ~/.hoe_template and basic erb templating to sow.
    • install_gem automatically installs missing dependencies. From Dr. Nic.
    • Parameterized history and readme paths for github users (sigh).
    • Added rspec support including having both tests and specs.
    • Match RubyGems' RDoc behavior and removed rdocpattern attribute. Use extrardoc_files instead.
    • Added testlib and SUPPORTEDTESTFRAMEWORKS to switch your testing library.
  • 1 bug fix:

    • Fixed rdoc title command-line parameters.
  • http://rubyforge.org/projects/seattlerb/

  • http://seattlerb.rubyforge.org/hoe/
  • ryand-ruby@zenspider.com

A script which automates a limited set of rubyforge operations.

  • Run 'rubyforge help' for complete usage.
  • Setup: For first time users AND upgrades to 0.4.0:
    • rubyforge setup (deletes your username and password, so run sparingly!)
    • edit ~/.rubyforge/user-config.yml
    • rubyforge config
  • For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.
  • Don't forget to login! logging in will store a cookie in your .rubyforge directory which expires after a time. always run the login command before any operation that requires authentication, such as uploading a package.

Changes:

1.0.3 / 2009-02-26:

I've been meaning to write and run this benchmark for a while to see how things fare in the view world these days. Initially I did markaby vs tagz (my favorite at a svelte 244 lines). I then added builder out of curiosity's sake. Thanks to atmos I was able to get code and numbers for erubis and haml.

Builder is slightly faster than tagz, but not enough for me to want to switch to it. Tagz and markaby read so much better than builder, but markaby is so much slower (4.73 times slower than builder) that I can't justify its use.

Now if only I could get tagz working correctly with sinatra. :(

# iterations = 10000
#
#               user     system      total        real   multiplier
#
# builder   1.910000   0.000000   1.910000 (  1.918751) (1.00)
# tagz      2.310000   0.020000   2.330000 (  2.357710) (1.23)
# haml      5.370000   0.020000   5.390000 (  5.418876) (2.82)
# erubis    5.390000   0.020000   5.410000 (  5.446929) (2.84)
# markaby   8.980000   0.030000   9.010000 (  9.078748) (4.73)

Code behind the cut...

Heckle is unit test sadism(tm) at it's core. Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don't notice, either that code isn't being covered or it doesn't do anything.

It's like hiring a white-hat hacker to try to break into your server and making sure you detect it. You learn the most by trying to break things and watching the outcome in an act of unit test sadism.

Changes:

1.4.2 / 2009-02-08

Reservoir Nerds, pt 3

| | Comments (0)

8 days, 5 hours, 24 minutes, and 52 seconds after I sent out my enigmatic post, Mr. Black (me, duh), Mr. White (Eric Hodel), Mr. Pink (Aaron Patterson, duh), and Mr. Blonde (John "Which one was Michael Madsen?" Barnette) all received offer letters from AT&T Interactive to work on one of their new ideas (totally green field! I don't think any of us have seen an empty repository in years and years!).

I'm amazed. I'm in awe. I had no idea that such a thing was possible, let alone so incredibly effortless. Thank you Ruby community for making such a thing possible and thank you ATTi for making such a bold move.

About this Archive

This page is an archive of entries from February 2009 listed from newest to oldest.

January 2009 is the previous archive.

March 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.32-en