<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/blue_ridge.rb</filename>
    </added>
    <added>
      <filename>spec/rubies/blue_ridge_spec.rb</filename>
    </added>
    <added>
      <filename>spec/rubies/spec_helper.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,15 @@
 ENV[&quot;BLUE_RIDGE_PREFIX&quot;] = File.dirname(__FILE__)
 import File.dirname(__FILE__) + '/tasks/javascript_testing_tasks.rake'
 
-task :default =&gt; &quot;test:javascripts&quot;
\ No newline at end of file
+gem &quot;spicycode-micronaut&quot;, &quot;&gt;= 0.2.4&quot;
+require 'micronaut'
+require 'micronaut/rake_task'
+
+namespace :test do
+  desc &quot;Run all micronaut examples using rcov&quot;
+  Micronaut::RakeTask.new :rubies do |t|
+    t.pattern = &quot;spec/rubies/**/*_spec.rb&quot;
+  end
+end
+
+task :default =&gt; [&quot;test:rubies&quot;, &quot;test:javascripts&quot;]
\ No newline at end of file</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,10 @@
+require File.expand_path(File.dirname(__FILE__) + '/../../lib/blue_ridge')
+
 class BlueRidgeGenerator &lt; Rails::Generator::Base
   def manifest
     record do |m|
+      base_dir = BlueRidge.javascript_spec_dir
+      
       m.directory base_dir
       m.file 'application_spec.js', &quot;#{base_dir}/application_spec.js&quot;
       m.file 'spec_helper.js',      &quot;#{base_dir}/spec_helper.js&quot;
@@ -10,9 +14,4 @@ class BlueRidgeGenerator &lt; Rails::Generator::Base
       m.file 'screw.css',        &quot;#{base_dir}/fixtures/screw.css&quot;
     end
   end
-
-  def base_dir
-    @base_dir ||= File.exist?(&quot;examples&quot;) ? &quot;examples/javascripts&quot; : File.exist?(&quot;spec&quot;) ? &quot;spec/javascripts&quot; : &quot;test/javascript&quot;
-  end
-
 end</diff>
      <filename>generators/blue_ridge/blue_ridge_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,8 @@ class JavascriptSpecGenerator &lt; Rails::Generator::NamedBase
     file_path_with_spec, file_path_without_spec = file_path_with_and_without_spec
     
     record do |m|
+      base_dir = BlueRidge.javascript_spec_dir
+      
       m.directory base_dir
       m.directory &quot;#{base_dir}/fixtures&quot;
       
@@ -12,10 +14,6 @@ class JavascriptSpecGenerator &lt; Rails::Generator::NamedBase
     end
   end
 
-  def base_dir
-    @base_dir ||= File.exist?(&quot;spec&quot;) ? &quot;spec/javascripts&quot; : &quot;test/javascript&quot;
-  end
-
   def file_path_with_and_without_spec
     if (file_path =~ /_spec$/i)
       [file_path, file_path.gsub(/_spec$/, &quot;&quot;)]</diff>
      <filename>generators/javascript_spec/javascript_spec_generator.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,29 +1,18 @@
-plugin_prefix = ENV[&quot;BLUE_RIDGE_PREFIX&quot;] || &quot;#{RAILS_ROOT}/vendor/plugins/blue-ridge&quot;
-rhino_command = &quot;java -Dblue.ridge.prefix=\&quot;#{plugin_prefix}\&quot; -jar #{plugin_prefix}/lib/js.jar -w -debug&quot;
-test_runner_command = &quot;#{rhino_command} #{plugin_prefix}/lib/test_runner.js&quot;
+require File.expand_path(File.dirname(__FILE__) + '/../lib/blue_ridge')
 
-def find_base_dir
-  target_dirs = [&quot;test/javascript&quot;, &quot;spec/javascripts&quot;, &quot;examples/javascripts&quot;]
-  base_dir = target_dirs.find {|d| File.exist?(d) }
-  raise &quot;Could not find JavaScript test directory.\nNone of the following directories existed: #{target_dirs.join(&quot;, &quot;)}.\nMaybe you need to call './script/generate blue_ridge'?&quot; unless base_dir
-  base_dir
+def error_message_for_missing_spec_dir 
+  %Q{Could not find JavaScript test directory.
+None of the following directories existed: #{BlueRidge::JavaScriptSpecDirs.join(&quot;, &quot;)}.
+Maybe you need to call './script/generate blue_ridge'?
+}
 end
 
 # Support Test::Unit &amp; Test/Spec style
 namespace :test do
   desc &quot;Runs all the JavaScript tests and outputs the results&quot;
   task :javascripts do
-    Dir.chdir(find_base_dir) do
-      all_fine = true
-      if ENV[&quot;TEST&quot;]
-        all_fine = false unless system(&quot;#{test_runner_command} #{ENV[&quot;TEST&quot;]}_spec.js&quot;)
-      else
-        Dir.glob(&quot;**/*_spec.js&quot;).each do |file|
-          all_fine = false unless system(&quot;#{test_runner_command} #{file}&quot;)
-        end
-      end
-      raise &quot;JavaScript test failures&quot; unless all_fine
-    end
+    js_spec_dir = BlueRidge.find_javascript_spec_dir || (raise error_message_for_missing_spec_dir)
+    raise &quot;JavaScript test failures&quot; unless BlueRidge.run_specs_in_dir(js_spec_dir, ENV[&quot;TEST&quot;])
   end
   
   task :javascript =&gt; :javascripts
@@ -31,20 +20,21 @@ end
 
 # Support RSpec style
 namespace :spec do
-  task :javascripts =&gt; [&quot;test:javascripts&quot;]
-  task :javascript =&gt;  [&quot;test:javascripts&quot;]
+  task :javascripts =&gt; &quot;test:javascripts&quot;
+  task :javascript =&gt;  &quot;test:javascripts&quot;
 end
 
 # Support Micronaut style
 namespace :examples do
-  task :javascripts =&gt; [&quot;test:javascripts&quot;]
-  task :javascript =&gt;  [&quot;test:javascripts&quot;]
+  task :javascripts =&gt; &quot;test:javascripts&quot;
+  task :javascript =&gt;  &quot;test:javascripts&quot;
 end
 
 
 namespace :js do
   task :fixtures do
-    fixture_dir = &quot;#{RAILS_ROOT}/#{find_base_dir}/fixtures&quot;
+    js_spec_dir = BlueRidge.find_javascript_spec_dir || (raise error_message_for_missing_spec_dir)
+    fixture_dir = &quot;#{js_spec_dir}/fixtures&quot;
     
     if PLATFORM[/darwin/]
       system(&quot;open #{fixture_dir}&quot;)
@@ -57,6 +47,6 @@ namespace :js do
   
   task :shell do
     rlwrap = `which rlwrap`.chomp
-    system(&quot;#{rlwrap} #{rhino_command} -f #{plugin_prefix}/lib/shell.js -f -&quot;)
+    system(&quot;#{rlwrap} #{BlueRidge.rhino_command} -f #{BlueRidge.plugin_prefix}/lib/shell.js -f -&quot;)
   end
 end
\ No newline at end of file</diff>
      <filename>tasks/javascript_testing_tasks.rake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b87569ecef75eb1de7d6873d08a1a705b6df2ea5</id>
    </parent>
  </parents>
  <author>
    <name>Larry Karnowski and Jason Rudolph</name>
    <email>pair@thinkrelevance.com</email>
  </author>
  <url>http://github.com/relevance/blue-ridge/commit/88fe37342da0b460b7f1f7e2f455e8f304e99784</url>
  <id>88fe37342da0b460b7f1f7e2f455e8f304e99784</id>
  <committed-date>2009-07-31T11:28:47-07:00</committed-date>
  <authored-date>2009-07-31T11:28:47-07:00</authored-date>
  <message>Tested &amp; refactored Ruby code into a BlueRidge module

	- moved common rake and generator Ruby into a blue_ridge.rb file
	- added Micronaut &amp; Mocha-based tests for BlueRidge Ruby code
	- default &quot;rake&quot; task runs both Ruby &amp; JavaScript specs
	- fixed &quot;rake js:fixtures&quot; for Micronaut 'examples' directory
	- fixed bug where JavaScript specs would not generate in the Micronaut
	  'examples' directory</message>
  <tree>6ebaae28a5b651fd23fcad0ca233bc56e11c5840</tree>
  <committer>
    <name>Larry Karnowski and Jason Rudolph</name>
    <email>pair@thinkrelevance.com</email>
  </committer>
</commit>
