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