== 1.0.0 released on Oct. ??th 2009 * bin/plow and bin/plow1.9 * Two ruby 1.9.1 compatible command-line executables. * Combined with Plow::Application, the entire application logic is decoupled from the plow generator library. * lib/plow.rb * Handles load-time errors gracefully for the user * Specifies library-wide load order * Maintains the library version in memory * lib/plow/application.rb * decoupled argument parsing from the generator * displays usage for the command-line executables * handles run-time errors gracefully for the user * starts the generator * Combined with the executables, the entire application logic is decoupled from the plow generator library. * lib/plow/generator.rb * main controller * maintains the shared state data including a strategy object * passes execution to the strategy object * provides shared logic for outputting messages to the user * provides shared logic for executing shell commands * provides shared logic for evaluating ERB template files * lib/plow/binding_struct.rb * helper object that converts a Hash object into instances variables, which then is used as the binding object for ERB * lib/plow/core_ext/object.rb * dynamically adds a #blank? method to all objects (copied directly from the active_support library) * lib/plow/errors.rb * defines a handful of run-time error classes * lib/plow/strategy/ubuntu_hardy/user_home_web_app.rb * userhome-based strategy for generating a system-wide web-site structure for the Linux Ubuntu Hardy 8.04.3 LTS operating system * understanding and managing the security implications of web server of virtual hosts * lib/plow/strategy/ubuntu_hardy/templates/apache2-vhost.conf * a simple apache2 virtual host ERB template file for the Linux Ubuntu Hardy 8.04.3 LTS operating system * lib/plow/strategy/ubuntu_hardy/templates/README.txt * a README file that explains the generated web-site directory structure and files * Rakefile * incorporating deployments with jeweler and gemcutter. the combination is extremely powerful and seems alot more practical than maintaining my own rubygem server. * inviting others to review my code and submitting patches! long live the open-source community!