From 467827843b0cbb4e01e699a03ebbd53b3f0e442d Mon Sep 17 00:00:00 2001 From: Ryan McGeary Date: Sat, 27 Nov 2010 21:00:43 -0500 Subject: [PATCH] Updated rake tasks to automatically compile CoffeeScript * Introduced bundler (for fssm) --- .gitignore | 2 ++ Gemfile | 3 +++ Gemfile.lock | 10 ++++++++++ Rakefile | 37 ++++++++++++++++++++++++++++++++---- vendor/cache/fssm-0.2.0.gem | Bin 0 -> 24576 bytes 5 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 vendor/cache/fssm-0.2.0.gem diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..92a1f7f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.bundle +vendor/ruby diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..63214c9 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source "http://rubygems.org" + +gem "fssm", "0.2.0" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..72aa2a2 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,10 @@ +GEM + remote: http://rubygems.org/ + specs: + fssm (0.2.0) + +PLATFORMS + ruby + +DEPENDENCIES + fssm (= 0.2.0) diff --git a/Rakefile b/Rakefile index 65a8d5f..54d4937 100644 --- a/Rakefile +++ b/Rakefile @@ -1,8 +1,8 @@ -verbose(true) +require "bundler/setup" -task :default => :test +task :default => :watch -desc 'Publish "marketing" docs' +desc "Publish "marketing" docs" task :publish do sh("git rebase master gh-pages") sh("git checkout master") @@ -11,7 +11,36 @@ task :publish do sh("git push --tags") end -desc 'Open your default browser with the test page' +desc "Build everything" +task :build do + rebuild_coffee +end + +desc "Watch for changes and test the site" +task :watch => :build do + sh("open test/index.html") + monitor +end + +desc "Open your default browser with the test page" task :test do sh("open test/index.html") end + +def rebuild_coffee(base = nil, relative = "**/*.coffee") + sh("coffee -c #{relative}") +end + +def monitor + require "fssm" + puts ">>> Monitoring for changes. Press Ctrl-C to Stop." + FSSM.monitor do + path "." do + glob "**/*.coffee" + update &method(:rebuild_coffee) + delete &method(:rebuild_coffee) + create &method(:rebuild_coffee) + end + end +end + diff --git a/vendor/cache/fssm-0.2.0.gem b/vendor/cache/fssm-0.2.0.gem new file mode 100644 index 0000000000000000000000000000000000000000..13b47c285f85f11efd058d5e55c8dce41c2cd893 GIT binary patch literal 24576 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 r93w%8ya^Fr$D?=ahsFprbJ-9>WQ_k|