tasks/railroady.rake in railroady-1.1.1 vs tasks/railroady.rake in railroady-1.1.2

- old
+ new

@@ -1,13 +1,13 @@ # This suite of tasks generate graphical diagrams via code analysis. # A UNIX-like environment is required as well as: -# +# # * The railroady gem. (http://github.com/preston/railroady) # * The graphviz package which includes the `dot` and `neato` command-line utilities. MacPorts users can install in via `sudo port install graphviz`. # * The `sed` command-line utility, which should already be available on all sane UNIX systems. # -# Author: Preston Lee, http://railroady.prestonlee.com +# Author: Preston Lee, http://railroady.prestonlee.com # wrap helper methods so they don't conflict w/ methods on Object require 'rbconfig' @@ -24,11 +24,11 @@ end def self.sed regex = 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g' case RbConfig::CONFIG['host_os'] - when /linux|cygwin/ + when /linux|cygwin|mingw/ return "sed -r '#{regex}'" when /mac|darwin|bsd/ return "sed -E '#{regex}'" else raise NotImplementedError @@ -38,16 +38,23 @@ end end namespace :diagram do - @MODELS_ALL = RailRoady::RakeHelpers.full_path("models_complete.#{RailRoady::RakeHelpers.format}").freeze - @MODELS_BRIEF = RailRoady::RakeHelpers.full_path("models_brief.#{RailRoady::RakeHelpers.format}").freeze - @CONTROLLERS_ALL = RailRoady::RakeHelpers.full_path("controllers_complete.#{RailRoady::RakeHelpers.format}").freeze - @CONTROLLERS_BRIEF = RailRoady::RakeHelpers.full_path("controllers_brief.#{RailRoady::RakeHelpers.format}").freeze - @SED = RailRoady::RakeHelpers.sed + @MODELS_ALL = RailRoady::RakeHelpers.full_path("models_complete.#{RailRoady::RakeHelpers.format}").freeze + @MODELS_BRIEF = RailRoady::RakeHelpers.full_path("models_brief.#{RailRoady::RakeHelpers.format}").freeze + @CONTROLLERS_ALL = RailRoady::RakeHelpers.full_path("controllers_complete.#{RailRoady::RakeHelpers.format}").freeze + @CONTROLLERS_BRIEF = RailRoady::RakeHelpers.full_path("controllers_brief.#{RailRoady::RakeHelpers.format}").freeze + @SED = RailRoady::RakeHelpers.sed + namespace :setup do + desc 'Perform any setup needed for the gem' + task :create_new_doc_folder_if_needed do + Dir.mkdir('doc') unless File.exists?('doc') + end + end + namespace :models do desc 'Generates an class diagram for all models.' task :complete do f = @MODELS_ALL @@ -81,8 +88,11 @@ end end desc 'Generates all class diagrams.' - task :all => ['diagram:models:complete', 'diagram:models:brief', 'diagram:controllers:complete', 'diagram:controllers:brief'] - + task all: ['diagram:setup:create_new_doc_folder_if_needed', + 'diagram:models:complete', + 'diagram:models:brief', + 'diagram:controllers:complete', + 'diagram:controllers:brief'] end