<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>.gitmodules</filename>
    </added>
    <added>
      <filename>app/controllers/admin/permissions_controller.rb</filename>
    </added>
    <added>
      <filename>app/helpers/admin/permissions_helper.rb</filename>
    </added>
    <added>
      <filename>db/migrate/20090330122903_can_edit_own_topics.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/rspec</filename>
    </added>
    <added>
      <filename>vendor/plugins/rspec-rails</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -4,7 +4,7 @@ class Admin::ChronicController &lt; Admin::ApplicationController
   # Example: Inputting &quot;Two weeks ago&quot; will give the day two weeks ago.
   def index
     time = Chronic.parse(params[:duration])  
-    render :text =&gt; time.nil? ? params[:duration].to_time rescue t(:invalid_format) : time.strftime(date_display + &quot; &quot; + time_display)
+    render :text =&gt; time.nil? ? (params[:duration].to_time rescue t(:invalid_format)) : time.strftime(date_display + &quot; &quot; + time_display)
   end
   
 end</diff>
      <filename>app/controllers/admin/chronic_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,12 +7,12 @@ class ForumsController &lt; ApplicationController
   # Also gathers stats for the Compulsory Stat Box.
   def index
      if @category
-      @forums = @category.forums
+      @forums = @category.forums.without_parent
     else
       # TODO: I encourage allcomers to find a better way.
       # FIXME: I have worked too long on this.
       # HELP: I need fresh eyes.
-      @categories = Category.without_parent.select { |c| current_user.can?(:see_category, f) }
+      @categories = Category.without_parent.select { |c| current_user.can?(:see_category, c) }
       @forums = Forum.without_category.without_parent.select { |f| current_user.can?(:see_forum, f) }
     end
     @lusers = User.recent.map { |u| u.to_s }.to_sentence
@@ -36,7 +36,7 @@ class ForumsController &lt; ApplicationController
     else
       @topics = @forum.topics.sorted.paginate :page =&gt; params[:page], :per_page =&gt; 30, :order =&gt; &quot;sticky DESC&quot;
       @forums = @forum.children
-      @all_forums = Forum.all(:select =&gt; &quot;id, title&quot;, :order =&gt; &quot;title ASC&quot;) - [@forum] if is_moderator?
+      @all_forums = Forum.all(:select =&gt; &quot;id, title&quot;, :order =&gt; &quot;title ASC&quot;) - [@forum] if current_user.can?(:move_topics, @forum)
       @moderated_topics_count = @forum.moderations.topics.for_user(current_user).count
     end
   end
@@ -45,7 +45,7 @@ class ForumsController &lt; ApplicationController
   
     def find_category
       unless params[:category_id].blank?
-        @category = Category.find(params[:category_id])
+        @category = Category.find(params[:category_id], :include =&gt; :forums)
         if !current_user.can?(:see_category, @category)
           flash[:notice] = t(:category_permission_denied)
           redirect_to root_path</diff>
      <filename>app/controllers/forums_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -104,8 +104,8 @@ class PostsController &lt; ApplicationController
     end
     
     def check_ownership
-      unless @post.belongs_to?(current_user) || is_moderator?
-        flash[:notice] = &quot;You do not own that post.&quot;
+      unless current_user.can?(:edit_own_posts, @post.forum) || current_user.can?(:edit_posts, @post.forum)
+        flash[:notice] = t(:Cannot_edit_post)
         redirect_back_or_default(forums_path)
       end
     end</diff>
      <filename>app/controllers/posts_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -39,7 +39,7 @@ class TopicsController &lt; ApplicationController
       flash[:notice] = t(:topic_created)
       redirect_to forum_topic_path(@topic.forum, @topic)
     else
-      flash.now[:notice] = t(:topic_not_created)
+      flash[:notice] = t(:topic_not_created)
       render :action =&gt; &quot;new&quot;
     end
   end
@@ -88,7 +88,7 @@ class TopicsController &lt; ApplicationController
       if current_user.can?(:see_forum, @forum)
         @topic = @forum.topics.find(params[:id], topic_options) if params[:id]
       else
-        flash[:notice] = t(:not_allowed_to_view_topics)
+        flash[:notice] = t(:forum_permission_denied)
         redirect_to root_path
       end
     else
@@ -98,6 +98,7 @@ class TopicsController &lt; ApplicationController
   end
   
   def user_has_permission?
+    puts (current_user.can?(:edit_own_topics, @forum) &amp;&amp; @topic.belongs_to?(current_user))
     current_user.can?(:edit_topics, @forum) || (current_user.can?(:edit_own_topics, @forum) &amp;&amp; @topic.belongs_to?(current_user))
   end
     </diff>
      <filename>app/controllers/topics_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,94 +1,94 @@
-&lt;% if @category.nil? &amp;&amp; @categories.empty? &amp;&amp; @forums.empty? %&gt;
-  &lt;table cellspacing='0' cellpadding='2' class='forums' width='100%' rules='groups'&gt;
-    &lt;thead&gt;
-      &lt;tr&gt;
-        &lt;td align='center'&gt;
-          &lt;%= t(:no_categories_or_forums) %&gt;
-          &lt;% unless current_user.can?(:manage_forums) &amp;&amp; current_user.can?(:manage_categories) %&gt;
-            &lt;%= t(:administrator_should_create_category_or_forum) %&gt;
-          &lt;% else %&gt;
-            &lt;%= link_to t(:you_should_create_category_or_forum), admin_root_path %&gt;
-          &lt;% end %&gt;
-        &lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/thead&gt;
-  &lt;/table&gt;
-&lt;% end %&gt;
-&lt;% if @category.nil? %&gt;
-  &lt;% for category in @categories %&gt;
-    &lt;% div_for category do %&gt;
-      &lt;h2&gt;&lt;%= link_to category.name, [category, :forums] %&gt;&lt;/h2&gt;
-      &lt;table cellspacing='0' cellpadding='2' class='forums' width='100%' rules='groups'&gt;
-        &lt;% unless category.forums.empty? %&gt;
-          &lt;thead&gt;
-            &lt;tr&gt;
-              &lt;td align='left' width='40%'&gt;&lt;%= t(:Forum) %&gt;&lt;/td&gt;
-              &lt;td align='center' width='100px'&gt;&lt;%= t(:Topics) %&gt;&lt;/td&gt;
-              &lt;td align='center' width='100px'&gt;&lt;%= t(:Posts) %&gt;&lt;/td&gt;
-              &lt;td align='right'&gt;&lt;%= t(:Last_Post) %&gt;&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/thead&gt;
-          &lt;tbody&gt;
-            &lt;%= render :partial =&gt; category.forums %&gt;
-          &lt;/tbody&gt;
-        &lt;% else %&gt;
-          &lt;thead&gt;
-            &lt;tr&gt;
-              &lt;td align='center'&gt;
-                &lt;b&gt;
-                  &lt;%= t(:no_forums) %&gt;
-                  &lt;% unless current_user.can?(:manage_forums) %&gt;
-                    &lt;%= t(:administrator_should_create_forum) %&gt;
-                  &lt;% else %&gt;
-                    &lt;%= link_to t(:you_should_create_forum), new_admin_forum_path %&gt;
-                  &lt;% end %&gt;
-                &lt;/b&gt;
-              &lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/thead&gt;
-        &lt;% end %&gt;
-      &lt;/table&gt;
-    &lt;% end %&gt;
-    &lt;br /&gt;
-  &lt;% end %&gt;
-&lt;% else %&gt;
-  &lt;%= link_to(t(:rBoard), forums_path) %&gt; -&gt; &lt;%= link_to @category.name, [@category, :forums] %&gt;&lt;br /&gt;
-  &lt;h2&gt;&lt;%= @category.name %&gt;&lt;/h2&gt;
-&lt;% end %&gt;
-
-&lt;% unless @forums.empty? %&gt;
-  &lt;table cellspacing='0' cellpadding='2' class='forums' width='100%' rules='groups'&gt;
-    &lt;thead&gt;
-      &lt;tr&gt;
-        &lt;td align='left' width='40%'&gt;&lt;%= t(:Forum) %&gt;&lt;/td&gt;
-        &lt;td align='center' width='100px'&gt;&lt;%= t(:Topics) %&gt;&lt;/td&gt;
-        &lt;td align='center' width='100px'&gt;&lt;%= t(:Posts) %&gt;&lt;/td&gt;
-        &lt;td align='right'&gt;&lt;%= t(:Last_Post) %&gt;&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/thead&gt;
-    &lt;tbody&gt;
-      &lt;%= render :partial =&gt; @forums %&gt;
-    &lt;/tbody&gt;
-  &lt;/table&gt;
-&lt;% end %&gt;
-
-
-&lt;br /&gt;
-&lt;% if logged_in? %&gt;
-  &lt;table cellspacing='0' cellpadding='5' class='info-box' width='100%' rules='groups'&gt;
-    &lt;thead&gt;
-      &lt;tr&gt;&lt;td&gt;&lt;%= t(:forum_statistics) %&gt;&lt;/td&gt;&lt;/tr&gt;
-    &lt;/thead&gt;
-    &lt;tbody&gt;
-      &lt;tr&gt;&lt;td&gt;
-          &lt;span class='right'&gt;
-            &lt;b&gt;&lt;%= t(:Posts) %&gt;: &lt;/b&gt;&lt;%= @posts %&gt;&lt;br /&gt;
-            &lt;b&gt;&lt;%= t(:Topics) %&gt;: &lt;/b&gt;&lt;%= @topics %&gt;&lt;br /&gt;
-            &lt;b&gt;&lt;%= t(:posts_per_topic) %&gt;: &lt;/b&gt;&lt;%= @ppt %&gt;&lt;br /&gt;
-          &lt;/span&gt;
-          &lt;b&gt;&lt;%= t(:registered_users) %&gt;:&lt;/b&gt; &lt;%= @users %&gt; &lt;br /&gt;
-          &lt;b&gt;&lt;%= t(:recent_users) %&gt;:&lt;/b&gt; &lt;%= @lusers.blank? ? t(:none) : @lusers %&gt;
-      &lt;/td&gt;&lt;/tr&gt;
-    &lt;/tbody&gt;
-  &lt;/table&gt;
+&lt;% if @category.nil? &amp;&amp; @categories.empty? &amp;&amp; @forums.empty? %&gt;
+  &lt;table cellspacing='0' cellpadding='2' class='forums' width='100%' rules='groups'&gt;
+    &lt;thead&gt;
+      &lt;tr&gt;
+        &lt;td align='center'&gt;
+          &lt;%= t(:no_categories_or_forums) %&gt;
+          &lt;% unless current_user.can?(:manage_forums) &amp;&amp; current_user.can?(:manage_categories) %&gt;
+            &lt;%= t(:administrator_should_create_category_or_forum) %&gt;
+          &lt;% else %&gt;
+            &lt;%= link_to t(:you_should_create_category_or_forum), admin_root_path %&gt;
+          &lt;% end %&gt;
+        &lt;/td&gt;
+      &lt;/tr&gt;
+    &lt;/thead&gt;
+  &lt;/table&gt;
+&lt;% end %&gt;
+&lt;% if @category.nil? %&gt;
+  &lt;% for category in @categories %&gt;
+    &lt;% div_for category do %&gt;
+      &lt;h2&gt;&lt;%= link_to category.name, [category, :forums] %&gt;&lt;/h2&gt;
+      &lt;table cellspacing='0' cellpadding='2' class='forums' width='100%' rules='groups'&gt;
+        &lt;% unless category.forums.without_parent.empty? %&gt;
+          &lt;thead&gt;
+            &lt;tr&gt;
+              &lt;td align='left' width='40%'&gt;&lt;%= t(:Forum) %&gt;&lt;/td&gt;
+              &lt;td align='center' width='100px'&gt;&lt;%= t(:Topics) %&gt;&lt;/td&gt;
+              &lt;td align='center' width='100px'&gt;&lt;%= t(:Posts) %&gt;&lt;/td&gt;
+              &lt;td align='right'&gt;&lt;%= t(:Last_Post) %&gt;&lt;/td&gt;
+            &lt;/tr&gt;
+          &lt;/thead&gt;
+          &lt;tbody&gt;
+            &lt;%= render :partial =&gt; category.forums.without_parent %&gt;
+          &lt;/tbody&gt;
+        &lt;% else %&gt;
+          &lt;thead&gt;
+            &lt;tr&gt;
+              &lt;td align='center'&gt;
+                &lt;b&gt;
+                  &lt;%= t(:no_forums) %&gt;
+                  &lt;% unless current_user.can?(:manage_forums) %&gt;
+                    &lt;%= t(:administrator_should_create_forum) %&gt;
+                  &lt;% else %&gt;
+                    &lt;%= link_to t(:you_should_create_forum), new_admin_forum_path %&gt;
+                  &lt;% end %&gt;
+                &lt;/b&gt;
+              &lt;/td&gt;
+            &lt;/tr&gt;
+          &lt;/thead&gt;
+        &lt;% end %&gt;
+      &lt;/table&gt;
+    &lt;% end %&gt;
+    &lt;br /&gt;
+  &lt;% end %&gt;
+&lt;% else %&gt;
+  &lt;%= link_to(t(:rBoard), forums_path) %&gt; -&gt; &lt;%= link_to @category.name, [@category, :forums] %&gt;&lt;br /&gt;
+  &lt;h2&gt;&lt;%= @category.name %&gt;&lt;/h2&gt;
+&lt;% end %&gt;
+
+&lt;% unless @forums.empty? %&gt;
+  &lt;table cellspacing='0' cellpadding='2' class='forums' width='100%' rules='groups'&gt;
+    &lt;thead&gt;
+      &lt;tr&gt;
+        &lt;td align='left' width='40%'&gt;&lt;%= t(:Forum) %&gt;&lt;/td&gt;
+        &lt;td align='center' width='100px'&gt;&lt;%= t(:Topics) %&gt;&lt;/td&gt;
+        &lt;td align='center' width='100px'&gt;&lt;%= t(:Posts) %&gt;&lt;/td&gt;
+        &lt;td align='right'&gt;&lt;%= t(:Last_Post) %&gt;&lt;/td&gt;
+      &lt;/tr&gt;
+    &lt;/thead&gt;
+    &lt;tbody&gt;
+      &lt;%= render :partial =&gt; @forums %&gt;
+    &lt;/tbody&gt;
+  &lt;/table&gt;
+&lt;% end %&gt;
+
+
+&lt;br /&gt;
+&lt;% if logged_in? %&gt;
+  &lt;table cellspacing='0' cellpadding='5' class='info-box' width='100%' rules='groups'&gt;
+    &lt;thead&gt;
+      &lt;tr&gt;&lt;td&gt;&lt;%= t(:forum_statistics) %&gt;&lt;/td&gt;&lt;/tr&gt;
+    &lt;/thead&gt;
+    &lt;tbody&gt;
+      &lt;tr&gt;&lt;td&gt;
+          &lt;span class='right'&gt;
+            &lt;b&gt;&lt;%= t(:Posts) %&gt;: &lt;/b&gt;&lt;%= @posts %&gt;&lt;br /&gt;
+            &lt;b&gt;&lt;%= t(:Topics) %&gt;: &lt;/b&gt;&lt;%= @topics %&gt;&lt;br /&gt;
+            &lt;b&gt;&lt;%= t(:posts_per_topic) %&gt;: &lt;/b&gt;&lt;%= @ppt %&gt;&lt;br /&gt;
+          &lt;/span&gt;
+          &lt;b&gt;&lt;%= t(:registered_users) %&gt;:&lt;/b&gt; &lt;%= @users %&gt; &lt;br /&gt;
+          &lt;b&gt;&lt;%= t(:recent_users) %&gt;:&lt;/b&gt; &lt;%= @lusers.blank? ? t(:none) : @lusers %&gt;
+      &lt;/td&gt;&lt;/tr&gt;
+    &lt;/tbody&gt;
+  &lt;/table&gt;
 &lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/forums/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -30,7 +30,7 @@
 	  &lt;% form_tag moderate_moderator_topics_path do %&gt;
 	    &lt;thead&gt;
     	  &lt;tr&gt;
-    	    &lt;% if is_moderator? %&gt;
+    	    &lt;% if current_user.can_moderate_topics? %&gt;
       	    &lt;td width='50px'&gt;&lt;%= t(:Moderation) %&gt;&lt;/td&gt;
       	  &lt;% end %&gt;
         	&lt;td&gt;&amp;nbsp;&lt;/td&gt;
@@ -44,7 +44,7 @@
   	  &lt;tbody&gt;
   	    &lt;% for topic in @topics %&gt;
       	  &lt;tr id='topic_&lt;%= topic.id %&gt;'&gt;
-        	  &lt;% if is_moderator? %&gt;
+        	  &lt;% if current_user.can_moderate_topics? %&gt;
             	&lt;td align='center'&gt;
             	  &lt;% if !topic.moved? %&gt;
             	    &lt;%= link_to_remote check_box_tag(&quot;moderated_topics[]&quot;, topic.id, !topic.moderations.for_user(current_user).empty?, :id =&gt; &quot;topic_#{topic.id}_moderated&quot;), :url =&gt; moderator_topic_moderations_path(topic) %&gt;
@@ -65,9 +65,9 @@
               &lt;% else %&gt;
                 &lt;%= theme_image_tag(&quot;old.jpg&quot;) %&gt;
               &lt;% end %&gt;
-              &lt;% if is_moderator? %&gt;
+              &lt;% if current_user.can?(:view_reports, @forum) %&gt;
                 &lt;% if !topic.reports.empty? %&gt;
-                  &lt;%= theme_image_tag(&quot;report.jpg&quot;, :title =&gt; &quot;#{t(:report, :count =&gt; topic.reports.count)}&quot;) %&gt;
+                  &lt;%= theme_image_tag(&quot;report.jpg&quot;, :title =&gt; t(:report, :count =&gt; topic.reports.count)) %&gt;
                 &lt;% end %&gt;
               &lt;% end %&gt;
             &lt;/td&gt;</diff>
      <filename>app/views/forums/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,32 +1,32 @@
-&lt;tbody&gt;
-  &lt;tr&gt;
-    &lt;td valign='top'&gt;
-      &lt;b&gt;&lt;%= t(:Post) %&gt;:&lt;/b&gt;
-    &lt;/td&gt;
-    &lt;td&gt;
-      &lt;%= f.text_area 'text', :cols =&gt; (cols || 70), :rows =&gt; (rows || 20) %&gt;
-    &lt;/td&gt;
-  &lt;/tr&gt;
-  
-  &lt;% if is_admin? &amp;&amp; !@post.new_record? %&gt;
-    &lt;tr&gt;
-      &lt;td colspan='2'&gt;
-        &lt;%= f.label 'edit_reason', t(:edit_reason) %&gt;
-        &lt;%= f.text_field 'edit_reason' %&gt;
-      &lt;/td&gt;
-    &lt;/tr&gt;
-    
-    &lt;tr&gt;
-      &lt;td colspan='2'&gt;
-        &lt;%= check_box_tag 'silent_edit', t(:silent_edit) %&gt;
-        &lt;%= label_tag 'silent_edit', t(:Edit_silently?) %&gt;
-      &lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;% end %&gt;
-  
-&lt;/tbody&gt;
-&lt;tfoot&gt;
-  &lt;tr&gt;
-    &lt;td colspan='2'&gt;&lt;%= submit_tag(t(:Create)) %&gt;&lt;/td&gt;
-  &lt;/tr&gt;
-&lt;/tfoot&gt;
+&lt;tbody&gt;
+  &lt;tr&gt;
+    &lt;td valign='top'&gt;
+      &lt;b&gt;&lt;%= t(:Post) %&gt;:&lt;/b&gt;
+    &lt;/td&gt;
+    &lt;td&gt;
+      &lt;%= f.text_area 'text', :cols =&gt; (cols || 70), :rows =&gt; (rows || 20) %&gt;
+    &lt;/td&gt;
+  &lt;/tr&gt;
+  
+  &lt;% if current_user.can?(:edit_posts, @forum) &amp;&amp; !@post.new_record? %&gt;
+    &lt;tr&gt;
+      &lt;td colspan='2'&gt;
+        &lt;%= f.label 'edit_reason', t(:edit_reason) %&gt;
+        &lt;%= f.text_field 'edit_reason' %&gt;
+      &lt;/td&gt;
+    &lt;/tr&gt;
+    
+    &lt;tr&gt;
+      &lt;td colspan='2'&gt;
+        &lt;%= check_box_tag 'silent_edit', t(:silent_edit) %&gt;
+        &lt;%= label_tag 'silent_edit', t(:Edit_silently?) %&gt;
+      &lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;% end %&gt;
+  
+&lt;/tbody&gt;
+&lt;tfoot&gt;
+  &lt;tr&gt;
+    &lt;td colspan='2'&gt;&lt;%= submit_tag(t(:Create)) %&gt;&lt;/td&gt;
+  &lt;/tr&gt;
+&lt;/tfoot&gt;</diff>
      <filename>app/views/posts/_form.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,20 +1,20 @@
-&lt;tbody&gt;
-  &lt;tr&gt;
-    &lt;td width='100px'&gt;&lt;%= f.label 'subject', t(:Subject) %&gt;&lt;/td&gt;
-    &lt;td&gt;&lt;%= f.text_field 'subject' %&gt;&lt;/td&gt;
-  &lt;/tr&gt;
-  
-  &lt;% fields_for @post do |post| %&gt;
-    &lt;tr&gt;
-      &lt;td valign='top'&gt;&lt;%= f.label 'text', t(:Text) %&gt;&lt;/td&gt;
-      &lt;td&gt;&lt;%= post.text_area &quot;text&quot;, :cols =&gt; &quot;80&quot; %&gt;&lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;% end %&gt;
-  
-  &lt;% if is_moderator? %&gt;
-    &lt;tr&gt;
-      &lt;td&gt;&lt;%= f.label 'sticky', t(:Sticky) %&gt;&lt;/td&gt;
-      &lt;td&gt;&lt;%= f.check_box &quot;sticky&quot; %&gt;&lt;/td&gt;
-    &lt;/tr&gt;
-  &lt;% end %&gt;
+&lt;tbody&gt;
+  &lt;tr&gt;
+    &lt;td width='100px'&gt;&lt;%= f.label 'subject', t(:Subject) %&gt;&lt;/td&gt;
+    &lt;td&gt;&lt;%= f.text_field 'subject' %&gt;&lt;/td&gt;
+  &lt;/tr&gt;
+  
+  &lt;% fields_for @post do |post| %&gt;
+    &lt;tr&gt;
+      &lt;td valign='top'&gt;&lt;%= f.label 'text', t(:Text) %&gt;&lt;/td&gt;
+      &lt;td&gt;&lt;%= post.text_area &quot;text&quot;, :cols =&gt; &quot;80&quot; %&gt;&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;% end %&gt;
+  
+  &lt;% if current_user.can?(:sticky_topics, @forum) %&gt;
+    &lt;tr&gt;
+      &lt;td&gt;&lt;%= f.label 'sticky', t(:Sticky) %&gt;&lt;/td&gt;
+      &lt;td&gt;&lt;%= f.check_box &quot;sticky&quot; %&gt;&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;% end %&gt;
 &lt;/tbody&gt;
\ No newline at end of file</diff>
      <filename>app/views/topics/_form.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -33,5 +33,4 @@
   &lt;% if @topic.locked? %&gt;
     &lt;%= t(:Locked!) %&gt;
   &lt;% end %&gt;
-&lt;% end %&gt;
-&lt;/div&gt;
\ No newline at end of file
+&lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/topics/_menu.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,30 +1,30 @@
-&lt;% content_for :feed do %&gt;
-  &lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;&lt;%= @topic.subject %&gt; Feed&quot; href=&quot;&lt;%= forum_topic_url(@topic.forum, @topic, :format =&gt; :rss) %&gt;&quot; /&gt;
-&lt;% end %&gt;
-
-&lt;%= link_to(t(:rBoard), forums_path) %&gt; -&gt; &lt;%= breadcrumb(@topic.forum) %&gt; -&gt; &lt;%= h @topic.subject %&gt;
-&lt;h2&gt;&lt;%= h @topic.subject %&gt;&lt;/h2&gt;
-&lt;%= pagination = will_paginate(@posts) %&gt;
-&lt;%= render :partial =&gt; &quot;menu&quot; %&gt;
-&lt;% if is_admin? &amp;&amp; !@topic.reports.empty? %&gt;
-  &lt;div class='warning'&gt;&lt;%= t(:Topic_has_been_reported, :count =&gt; @topic.reports.count) %&gt; &lt;%= link_to t(:See_reports), moderator_topic_reports_path(@topic) %&gt;&lt;/div&gt;
-&lt;% end %&gt;
-&lt;br /&gt;
-&lt;%= render :partial =&gt; @posts, :locals =&gt; { :show_topic =&gt; false } %&gt;
-&lt;% if current_user.can?(:reply) %&gt;
-  &lt;table class='action-box' width='100%' cellpadding='2' cellspacing='0'&gt;
-    &lt;thead&gt;
-      &lt;tr&gt;
-        &lt;td colspan='2'&gt;&lt;h3&gt;&lt;%= t(:Quick_Reply) %&gt;&lt;/h3&gt;&lt;/td&gt;
-      &lt;/tr&gt;
-    &lt;/thead&gt;
-    &lt;tbody&gt;
-      &lt;% form_for [@topic, @post] do |f| %&gt;
-        &lt;%= render :partial =&gt; &quot;posts/form&quot;, :locals =&gt; { :f =&gt; f, :rows =&gt; 10, :cols =&gt; 70 } %&gt;
-      &lt;% end %&gt;
-    &lt;/tbody&gt;
-  &lt;/table&gt;
-&lt;% end %&gt;
-&lt;br /&gt;
-&lt;%= render :partial =&gt; &quot;menu&quot; %&gt;
+&lt;% content_for :feed do %&gt;
+  &lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; title=&quot;&lt;%= @topic.subject %&gt; Feed&quot; href=&quot;&lt;%= forum_topic_url(@topic.forum, @topic, :format =&gt; :rss) %&gt;&quot; /&gt;
+&lt;% end %&gt;
+
+&lt;%= link_to(t(:rBoard), forums_path) %&gt; -&gt; &lt;%= breadcrumb(@topic.forum) %&gt; -&gt; &lt;%= h @topic.subject %&gt;
+&lt;h2&gt;&lt;%= h @topic.subject %&gt;&lt;/h2&gt;
+&lt;%= pagination = will_paginate(@posts) %&gt;
+&lt;%= render :partial =&gt; &quot;menu&quot; %&gt;
+&lt;% if current_user.can?(:view_reports, @forum) %&gt;
+  &lt;div class='warning'&gt;&lt;%= t(:Topic_has_been_reported, :count =&gt; @topic.reports.count) %&gt; &lt;%= link_to t(:See_reports), moderator_topic_reports_path(@topic) %&gt;&lt;/div&gt;
+&lt;% end %&gt;
+&lt;br /&gt;
+&lt;%= render :partial =&gt; @posts, :locals =&gt; { :show_topic =&gt; false } %&gt;
+&lt;% if current_user.can?(:reply) %&gt;
+  &lt;table class='action-box' width='100%' cellpadding='2' cellspacing='0'&gt;
+    &lt;thead&gt;
+      &lt;tr&gt;
+        &lt;td colspan='2'&gt;&lt;h3&gt;&lt;%= t(:Quick_Reply) %&gt;&lt;/h3&gt;&lt;/td&gt;
+      &lt;/tr&gt;
+    &lt;/thead&gt;
+    &lt;tbody&gt;
+      &lt;% form_for [@topic, @post] do |f| %&gt;
+        &lt;%= render :partial =&gt; &quot;posts/form&quot;, :locals =&gt; { :f =&gt; f, :rows =&gt; 10, :cols =&gt; 70 } %&gt;
+      &lt;% end %&gt;
+    &lt;/tbody&gt;
+  &lt;/table&gt;
+&lt;% end %&gt;
+&lt;br /&gt;
+&lt;%= render :partial =&gt; &quot;menu&quot; %&gt;
 &lt;%= pagination %&gt;
\ No newline at end of file</diff>
      <filename>app/views/topics/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@
       &lt;td align='center'&gt;&lt;%= t(:Banned) %&gt;&lt;/td&gt;
       &lt;td align='center'&gt;&lt;%= t(:Banned_until) %&gt;&lt;/td&gt;
       &lt;td align='center'&gt;&lt;%= t(:Times_banned) %&gt;&lt;/td&gt;
-      &lt;% if is_admin? %&gt;
+      &lt;% if current_user.can?(:manage_users) %&gt;
         &lt;td align='center'&gt;&lt;%= t(:IP) %&gt;&lt;/td&gt;
       &lt;% end %&gt;
       
@@ -22,7 +22,7 @@
         &lt;td align='center'&gt;&lt;%= !user.ban_time.nil? &amp;&amp; user.ban_time &gt; Time.now ? t(:Yes) : t(:No) %&gt;&lt;/td&gt;
         &lt;td align='center'&gt;&lt;%= user.ban_time.nil? ? t(:Never) : user.ban_time.strftime(:long_ordinal) %&gt;&lt;/td&gt;
         &lt;td align='center'&gt;&lt;%= user.ban_times %&gt;&lt;/td&gt;
-        &lt;% if is_admin? %&gt;
+        &lt;% if current_user.can?(:manage_users) %&gt;
           &lt;td align='center'&gt;&lt;%= user.ip %&gt;&lt;/td&gt;
         &lt;% end %&gt;
       &lt;/tr&gt;</diff>
      <filename>app/views/users/index.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 20090327125513) do
+ActiveRecord::Schema.define(:version =&gt; 20090330122903) do
 
   create_table &quot;banned_ips&quot;, :force =&gt; true do |t|
     t.string   &quot;ip&quot;
@@ -145,6 +145,7 @@ ActiveRecord::Schema.define(:version =&gt; 20090327125513) do
     t.integer &quot;category_id&quot;
     t.boolean &quot;default&quot;,                      :default =&gt; false
     t.boolean &quot;can_manage_themes&quot;,            :default =&gt; false
+    t.boolean &quot;can_edit_own_topics&quot;,          :default =&gt; false
   end
 
   create_table &quot;posts&quot;, :force =&gt; true do |t|</diff>
      <filename>db/schema.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,12 @@
 module Rboard::Auth
   # Store the given user in the session.
    def current_user=(new_user)
+     return if new_user.nil?
      new_user.previous_login = current_user.login_time
      new_user.login_time = Time.now
      new_user.ip = request.remote_addr
-     new_user.ips.find_or_create_by_ip(request.remote_addr)
+     ip = Ip.find_or_create_by_ip(request.remote_addr)
+     ip.users &lt;&lt; new_user
      new_user.save
      session[:user] = new_user.id
      @current_user = new_user
@@ -27,14 +29,6 @@ module Rboard::Auth
   def date_time_display
     date_display + &quot; &quot; + time_display
   end
-
-  def is_admin?
-    logged_in? &amp;&amp; current_user.admin?
-  end
-
-  def is_moderator?
-    logged_in? &amp;&amp; (current_user.admin? || current_user.moderator?)
-  end
   
   def non_admin_redirect
     if !current_user.can?(:access_admin_section)
@@ -101,7 +95,6 @@ module Rboard::Auth
   
   def self.included(base)
     base.send :helper_method,
-              :is_admin?,
               :is_moderator?,
               :ip_banned?,
               :logged_in?,</diff>
      <filename>lib/rboard/auth.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,7 +32,15 @@ module Rboard::Permissions
       end
             
       def can?(action, thing = nil)
-        overall_permissions(thing)[&quot;can_#{action}&quot;]
+        !!overall_permissions(thing)[&quot;can_#{action}&quot;]
+      end
+      
+      def can_moderate_topics?
+        can?(:move_topics)  || 
+        can?(:lock_topics)  ||
+        can?(:merge_topics) ||
+        can?(:split_topics) ||
+        can?(:sticky_topics)
       end
     end
   end</diff>
      <filename>lib/rboard/permissions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,36 @@
-raise &quot;To avoid rake task loading problems: run 'rake clobber' in vendor/plugins/rspec&quot; if File.directory?(File.join(File.dirname(__FILE__), *%w[.. .. vendor plugins rspec pkg]))
-raise &quot;To avoid rake task loading problems: run 'rake clobber' in vendor/plugins/rspec-rails&quot; if File.directory?(File.join(File.dirname(__FILE__), *%w[.. .. vendor plugins rspec-rails pkg]))
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
 
-# In rails 1.2, plugins aren't available in the path until they're loaded.
-# Check to see if the rspec plugin is installed first and require
-# it if it is.  If not, use the gem version.
-rspec_base = File.expand_path(File.dirname(__FILE__) + '/../../vendor/plugins/rspec/lib')
-$LOAD_PATH.unshift(rspec_base) if File.exist?(rspec_base)
-require 'spec/rake/spectask'
+# Don't load rspec if running &quot;rake gems:*&quot;
+unless ARGV.any? {|a| a =~ /^gems/}
+
+begin
+  require 'spec/rake/spectask'
+rescue MissingSourceFile
+  module Spec
+    module Rake
+      class SpecTask
+        def initialize(name)
+          task name do
+            # if rspec-rails is a configured gem, this will output helpful material and exit ...
+            require File.expand_path(File.dirname(__FILE__) + &quot;/../../config/environment&quot;)
+
+            # ... otherwise, do this:
+            raise &lt;&lt;-MSG
+
+#{&quot;*&quot; * 80}
+*  You are trying to run an rspec rake task defined in
+*  #{__FILE__},
+*  but rspec can not be found in vendor/gems, vendor/plugins or system gems.
+#{&quot;*&quot; * 80}
+MSG
+          end
+        end
+      end
+    end
+  end
+end
+
+Rake.application.instance_variable_get('@tasks').delete('default')
 
 spec_prereq = File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? &quot;db:test:prepare&quot; : :noop
 task :noop do
@@ -18,51 +42,51 @@ task :stats =&gt; &quot;spec:statsetup&quot;
 desc &quot;Run all specs in spec directory (excluding plugin specs)&quot;
 Spec::Rake::SpecTask.new(:spec =&gt; spec_prereq) do |t|
   t.spec_opts = ['--options', &quot;\&quot;#{RAILS_ROOT}/spec/spec.opts\&quot;&quot;]
-  t.spec_files = FileList['spec/**/*_spec.rb']
+  t.spec_files = FileList['spec/**/*/*_spec.rb']
 end
 
 namespace :spec do
   desc &quot;Run all specs in spec directory with RCov (excluding plugin specs)&quot;
   Spec::Rake::SpecTask.new(:rcov) do |t|
     t.spec_opts = ['--options', &quot;\&quot;#{RAILS_ROOT}/spec/spec.opts\&quot;&quot;]
-    t.spec_files = FileList['spec/**/*_spec.rb']
+    t.spec_files = FileList['spec/**/*/*_spec.rb']
     t.rcov = true
     t.rcov_opts = lambda do
       IO.readlines(&quot;#{RAILS_ROOT}/spec/rcov.opts&quot;).map {|l| l.chomp.split &quot; &quot;}.flatten
     end
   end
-  
+
   desc &quot;Print Specdoc for all specs (excluding plugin specs)&quot;
   Spec::Rake::SpecTask.new(:doc) do |t|
     t.spec_opts = [&quot;--format&quot;, &quot;specdoc&quot;, &quot;--dry-run&quot;]
-    t.spec_files = FileList['spec/**/*_spec.rb']
+    t.spec_files = FileList['spec/**/*/*_spec.rb']
   end
 
-  desc &quot;Print Specdoc for all plugin specs&quot;
+  desc &quot;Print Specdoc for all plugin examples&quot;
   Spec::Rake::SpecTask.new(:plugin_doc) do |t|
     t.spec_opts = [&quot;--format&quot;, &quot;specdoc&quot;, &quot;--dry-run&quot;]
-    t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*')
+    t.spec_files = FileList['vendor/plugins/**/spec/**/*/*_spec.rb'].exclude('vendor/plugins/rspec/*')
   end
 
   [:models, :controllers, :views, :helpers, :lib].each do |sub|
-    desc &quot;Run the specs under spec/#{sub}&quot;
+    desc &quot;Run the code examples in spec/#{sub}&quot;
     Spec::Rake::SpecTask.new(sub =&gt; spec_prereq) do |t|
       t.spec_opts = ['--options', &quot;\&quot;#{RAILS_ROOT}/spec/spec.opts\&quot;&quot;]
       t.spec_files = FileList[&quot;spec/#{sub}/**/*_spec.rb&quot;]
     end
   end
-  
-  desc &quot;Run the specs under vendor/plugins (except RSpec's own)&quot;
+
+  desc &quot;Run the code examples in vendor/plugins (except RSpec's own)&quot;
   Spec::Rake::SpecTask.new(:plugins =&gt; spec_prereq) do |t|
     t.spec_opts = ['--options', &quot;\&quot;#{RAILS_ROOT}/spec/spec.opts\&quot;&quot;]
-    t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude(&quot;vendor/plugins/rspec-rails/*&quot;)
+    t.spec_files = FileList['vendor/plugins/**/spec/**/*/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude(&quot;vendor/plugins/rspec-rails/*&quot;)
   end
-  
+
   namespace :plugins do
     desc &quot;Runs the examples for rspec_on_rails&quot;
     Spec::Rake::SpecTask.new(:rspec_on_rails) do |t|
       t.spec_opts = ['--options', &quot;\&quot;#{RAILS_ROOT}/spec/spec.opts\&quot;&quot;]
-      t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*_spec.rb']
+      t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*/*_spec.rb']
     end
   end
 
@@ -74,36 +98,41 @@ namespace :spec do
     ::STATS_DIRECTORIES &lt;&lt; %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
     ::STATS_DIRECTORIES &lt;&lt; %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
     ::STATS_DIRECTORIES &lt;&lt; %w(Library\ specs spec/lib) if File.exist?('spec/lib')
+    ::STATS_DIRECTORIES &lt;&lt; %w(Routing\ specs spec/lib) if File.exist?('spec/routing')
     ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Model specs&quot; if File.exist?('spec/models')
     ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;View specs&quot; if File.exist?('spec/views')
     ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Controller specs&quot; if File.exist?('spec/controllers')
     ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Helper specs&quot; if File.exist?('spec/helpers')
     ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Library specs&quot; if File.exist?('spec/lib')
-    ::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
+    ::CodeStatistics::TEST_TYPES &lt;&lt; &quot;Routing specs&quot; if File.exist?('spec/routing')
   end
 
   namespace :db do
     namespace :fixtures do
-      desc &quot;Load fixtures (from spec/fixtures) into the current environment's database.  Load specific fixtures using FIXTURES=x,y&quot;
+      desc &quot;Load fixtures (from spec/fixtures) into the current environment's database.  Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z.&quot;
       task :load =&gt; :environment do
+        ActiveRecord::Base.establish_connection(Rails.env)
+        base_dir = File.join(Rails.root, 'spec', 'fixtures')
+        fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
+        
         require 'active_record/fixtures'
-        ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
-        (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(RAILS_ROOT, 'spec', 'fixtures', '*.{yml,csv}'))).each do |fixture_file|
-          Fixtures.create_fixtures('spec/fixtures', File.basename(fixture_file, '.*'))
+        (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
+          Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
         end
       end
     end
   end
 
   namespace :server do
-    daemonized_server_pid = File.expand_path(&quot;spec_server.pid&quot;, RAILS_ROOT + &quot;/tmp&quot;)
-
+    daemonized_server_pid = File.expand_path(&quot;#{RAILS_ROOT}/tmp/pids/spec_server.pid&quot;)
+    
     desc &quot;start spec_server.&quot;
     task :start do
       if File.exist?(daemonized_server_pid)
         $stderr.puts &quot;spec_server is already running.&quot;
       else
-        $stderr.puts &quot;Starting up spec server.&quot;
+        $stderr.puts %Q{Starting up spec_server ...}
+        FileUtils.mkdir_p('tmp/pids') unless test ?d, 'tmp/pids'
         system(&quot;ruby&quot;, &quot;script/spec_server&quot;, &quot;--daemon&quot;, &quot;--pid&quot;, daemonized_server_pid)
       end
     end
@@ -113,20 +142,24 @@ namespace :spec do
       unless File.exist?(daemonized_server_pid)
         $stderr.puts &quot;No server running.&quot;
       else
-        $stderr.puts &quot;Shutting down spec_server.&quot;
+        $stderr.puts &quot;Shutting down spec_server ...&quot;
         system(&quot;kill&quot;, &quot;-s&quot;, &quot;TERM&quot;, File.read(daemonized_server_pid).strip) &amp;&amp; 
         File.delete(daemonized_server_pid)
       end
     end
 
-    desc &quot;reload spec_server.&quot;
-    task :restart do
-      unless File.exist?(daemonized_server_pid)
-        $stderr.puts &quot;No server running.&quot;
+    desc &quot;restart spec_server.&quot;
+    task :restart =&gt; [:stop, :start]
+    
+    desc &quot;check if spec server is running&quot;
+    task :status do
+      if File.exist?(daemonized_server_pid)
+        $stderr.puts %Q{spec_server is running (PID: #{File.read(daemonized_server_pid).gsub(&quot;\n&quot;,&quot;&quot;)})}
       else
-        $stderr.puts &quot;Reloading down spec_server.&quot;
-        system(&quot;kill&quot;, &quot;-s&quot;, &quot;USR2&quot;, File.read(daemonized_server_pid).strip)
+        $stderr.puts &quot;No server running.&quot;
       end
     end
   end
 end
+
+end
\ No newline at end of file</diff>
      <filename>lib/tasks/rspec.rake</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,6 @@
 #!/usr/bin/env ruby
-ENV['RSPEC'] = 'true'
-system 'autotest'
\ No newline at end of file
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
+ENV['RSPEC'] = 'true'     # allows autotest to discover rspec
+ENV['AUTOTEST'] = 'true'  # allows autotest to run w/ color on linux
+system((RUBY_PLATFORM =~ /mswin|mingw/ ? 'autotest.bat' : 'autotest'), *ARGV) ||
+  $stderr.puts(&quot;Unable to find autotest.  Please install ZenTest or fix your PATH&quot;)</diff>
      <filename>script/autospec</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,10 @@
 #!/usr/bin/env ruby
-$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + &quot;/../vendor/plugins/rspec/lib&quot;))
-require 'spec'
-exit ::Spec::Runner::CommandLine.run(::Spec::Runner::OptionParser.parse(ARGV, STDERR, STDOUT))
+if ARGV.any? {|arg| %w[--drb -X --generate-options -G --help -h --version -v].include?(arg)}
+  require 'rubygems' unless ENV['NO_RUBYGEMS']
+else
+  gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
+  ENV[&quot;RAILS_ENV&quot;] ||= 'test'
+  require File.expand_path(File.dirname(__FILE__) + &quot;/../config/environment&quot;) unless defined?(RAILS_ROOT)
+end
+require 'spec/autorun'
+exit ::Spec::Runner::CommandLine.run</diff>
      <filename>script/spec</filename>
    </modified>
    <modified>
      <diff>@@ -1,116 +1,9 @@
 #!/usr/bin/env ruby
-$LOAD_PATH.unshift File.dirname(__FILE__) + '/../vendor/plugins/rspec/lib' # For rspec installed as plugin
-require 'rubygems'
-require 'drb/drb'
-require 'rbconfig'
-require 'spec'
-require 'optparse'
-
-# This is based on Florian Weber's TDDMate
-module Spec
-  module Runner
-    class RailsSpecServer
-      def run(argv, stderr, stdout)
-        $stdout = stdout
-        $stderr = stderr
-
-        base = ActiveRecord::Base
-        def base.clear_reloadable_connections!
-          active_connections.each do |name, conn|
-            if conn.requires_reloading?
-              conn.disconnect!
-              active_connections.delete(name)
-            end
-          end
-        end
-
-        if ActionController.const_defined?(:Dispatcher)
-          dispatcher = ::ActionController::Dispatcher.new($stdout)
-          dispatcher.cleanup_application
-        elsif ::Dispatcher.respond_to?(:reset_application!)
-          ::Dispatcher.reset_application!
-        else
-          raise &quot;Application reloading failed&quot;
-        end
-        if Object.const_defined?(:Fixtures) &amp;&amp; Fixtures.respond_to?(:reset_cache)
-          Fixtures.reset_cache
-        end
-
-        ::Dependencies.mechanism = :load
-        require_dependency('application.rb') unless Object.const_defined?(:ApplicationController)
-        load File.dirname(__FILE__) + '/../spec/spec_helper.rb'
-
-        if in_memory_database?
-          load &quot;#{RAILS_ROOT}/db/schema.rb&quot; # use db agnostic schema by default
-          ActiveRecord::Migrator.up('db/migrate') # use migrations
-        end
-
-        ::Spec::Runner::CommandLine.run(
-          ::Spec::Runner::OptionParser.parse(
-            argv,
-            $stderr,
-            $stdout
-          )
-        )
-      end
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f &gt;= 1.9
 
-      def in_memory_database?
-        ENV[&quot;RAILS_ENV&quot;] == &quot;test&quot; and
-        ::ActiveRecord::Base.connection.class.to_s == &quot;ActiveRecord::ConnectionAdapters::SQLite3Adapter&quot; and
-        ::Rails::Configuration.new.database_configuration['test']['database'] == ':memory:'
-      end
-    end
-  end
-end
 puts &quot;Loading Rails environment&quot;
+ENV[&quot;RAILS_ENV&quot;] ||= 'test'
+require File.expand_path(File.dirname(__FILE__) + &quot;/../config/environment&quot;) unless defined?(RAILS_ROOT)
 
-ENV[&quot;RAILS_ENV&quot;] = &quot;test&quot;
-require File.expand_path(File.dirname(__FILE__) + &quot;/../config/environment&quot;)
-require 'dispatcher'
-
-def restart_test_server
-  puts &quot;restarting&quot;
-  config       = ::Config::CONFIG
-  ruby         = File::join(config['bindir'], config['ruby_install_name']) + config['EXEEXT']
-  command_line = [ruby, $0, ARGV].flatten.join(' ')
-  exec(command_line)
-end
-
-def daemonize(pid_file = nil)
-  return yield if $DEBUG
-  pid = Process.fork{
-    Process.setsid
-    Dir.chdir(RAILS_ROOT)
-    trap(&quot;SIGINT&quot;){ exit! 0 }
-    trap(&quot;SIGTERM&quot;){ exit! 0 }
-    trap(&quot;SIGHUP&quot;){ restart_test_server }
-    File.open(&quot;/dev/null&quot;){|f|
-      STDERR.reopen f
-      STDIN.reopen  f
-      STDOUT.reopen f
-    }
-    yield
-  }
-  puts &quot;spec_server launched. (PID: %d)&quot; % pid
-  File.open(pid_file,&quot;w&quot;){|f| f.puts pid } if pid_file
-  exit! 0
-end
-
-options = Hash.new
-opts = OptionParser.new
-opts.on(&quot;-d&quot;, &quot;--daemon&quot;){|v| options[:daemon] = true }
-opts.on(&quot;-p&quot;, &quot;--pid PIDFILE&quot;){|v| options[:pid] = v }
-opts.parse!(ARGV)
-
-puts &quot;Ready&quot;
-exec_server = lambda {
-  trap(&quot;USR2&quot;) { restart_test_server } if Signal.list.has_key?(&quot;USR2&quot;)
-  DRb.start_service(&quot;druby://127.0.0.1:8989&quot;, Spec::Runner::RailsSpecServer.new)
-  DRb.thread.join
-}
-
-if options[:daemon]
-  daemonize(options[:pid], &amp;exec_server)
-else
-  exec_server.call
-end
+require 'optparse'
+require 'spec/rails/spec_server'</diff>
      <filename>script/spec_server</filename>
    </modified>
    <modified>
      <diff>@@ -3,217 +3,107 @@ describe TopicsController do
   fixtures :users, :forums, :topics, :posts, :group_users, :groups, :permissions
 
   before do
-    @topic = mock_model(Topic)
-    @topics = [@topic]
-    @post = mock_model(Post)
-    @posts = [@post]
-    @forum = mock_model(Forum)
-    @forums = [@forum]
-    @user = mock_model(User)
-    @users = [@user]
-    @subscription = mock_model(Subscription)
-    @subscriptions = [@subscription]
     @admin_forum = forums(:admins_only)
-    @everybody = forums(:everybody)
     @admin_topic = topics(:admin)
-    @post = @admin_topic.posts.first
-  end
-
- 
-  def find_forum
-    Forum.should_receive(:find).and_return(@forum)
-  end
-  
-  def forum_not_viewable_aftermath
-    response.should redirect_to(root_path)
-    flash[:notice].should eql(I18n.t(:not_allowed_to_view_topics))
+    @everybody = forums(:everybody)
+    @everybody_topic = topics(:user)
+    @other_user_topic = topics(:other_user)
   end
   
-  def topic_does_not_belong
-    @forum.should_receive(:topics).and_return(@topics)
-    @topics.should_receive(:find).and_return(@topic)
-    @topic.should_receive(:belongs_to?).and_return(false)
+  def params
+    { :forum_id =&gt; @everybody.id, :id =&gt; @everybody_topic.id }
   end
   
-  
-  describe TopicsController, &quot;for not logged in user&quot; do
-    it &quot;should check to see if a user is logged in before creating a new topic&quot; do
-      get 'new', { :forum_id =&gt; forums(:admins_only).id }
-      response.should redirect_to('login')
-      flash[:notice].should eql(&quot;You must be logged in to do that.&quot;)
-    end
-    
-    it &quot;should not show a restricted topic&quot; do
-      Forum.should_receive(:find).and_return(@forum)
-      get 'show', { :id =&gt; @admin_topic.id, :forum_id =&gt; @admin_forum.id }
-      response.should redirect_to(root_path)
-      flash[:notice].should eql(&quot;You are not allowed to view topics in that forum.&quot;)
-    end
-  end  
-
-  describe TopicsController, &quot;for logged in plebian&quot; do
+  describe &quot;as a plebian&quot; do
     before do
       login_as(:plebian)
-      @user = users(:plebian)
     end
     
-    it &quot;should redirect to the forums show action if index is requested&quot; do
-      find_forum
-      get 'index', :forum_id =&gt; @everybody.id
-      response.should redirect_to(forum_path(@forum))
-    end
-  
-    it &quot;should stop a user from being able to create a topic in a restricted forum&quot; do
-      get 'new', { :forum_id =&gt; @admin_forum.id }
-      forum_not_viewable_aftermath
-    end
-    
-    it &quot;should not create a topic if a user is not allowed&quot; do
-      find_forum
-      post 'create', { :topic =&gt; { :subject =&gt; &quot;Test!&quot; }, :post =&gt; { :text =&gt; &quot;Testing!&quot; }, :forum_id =&gt; @admin_forum.id }
-      forum_not_viewable_aftermath
-    end
-    
-    it &quot;should not be able to see a restricted topic&quot; do
-      find_forum
-      get 'show', { :id =&gt; @admin_topic.id, :forum_id =&gt; @admin_forum.id }
-      forum_not_viewable_aftermath
-    end
-    
-    it &quot;should not be able to see topics that do not exist&quot; do
-      find_forum
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:find).and_raise(ActiveRecord::RecordNotFound)
-      get 'show', { :forum_id =&gt; @everybody.id, :id =&gt; 123456789 }
-      flash[:notice].should eql(I18n.t(:topic_not_found))
-      response.should redirect_to(forums_path)
+    describe &quot;in the admin forum&quot; do
+      def denied
+        response.should redirect_to(root_path)
+        flash[:notice].should eql(t(:forum_permission_denied))
+      end
+      
+      def admin_params
+        { :forum_id =&gt; @admin_forum.id, :id =&gt; @admin_topic.id }
+      end
+      
+      after do
+        denied
+      end
+      
+      it &quot;should not be able to see a topic&quot; do
+        get 'show', admin_params
+      end
+      
+      it &quot;should not be able to begin to create a topic&quot; do
+        get 'new', :forum_id =&gt; @admin_forum.id
+      end
+      
+      it &quot;should not be able to create a topic&quot; do
+        post 'create', { :forum_id =&gt; @admin_forum.id, :topic =&gt; { :subject =&gt; &quot;Testing&quot;}, :post =&gt; { :text =&gt; &quot;1, two, free&quot; } }
+      end
     end
-    
-    it &quot;should not be able to edit a restricted topic&quot; do
-      find_forum
-      get 'edit', { :forum_id =&gt; @admin_forum.id, :id =&gt; 1 }
-      forum_not_viewable_aftermath
+      
+    it &quot;should be able to see a topic in the free-for-all forum&quot; do
+      get 'show', params
+      response.should render_template(&quot;show&quot;)
     end
     
-    it &quot;should not be able to update a restricted topic&quot; do
-      find_forum
-      put 'update', { :forum_id =&gt; @admin_forum.id, :id =&gt; 1 }
-      forum_not_viewable_aftermath
+    it &quot;should be able to begin to create a new topic in the free-for-all forum&quot; do
+      get 'new', :forum_id =&gt; @everybody.id
+      response.should render_template(&quot;new&quot;)
     end
     
-    it &quot;should not be able to edit a topic that is not theirs&quot; do
-      find_forum
-      topic_does_not_belong
-      @topic.should_receive(:posts).and_return(@posts)
-      get 'edit', { :forum_id =&gt; @everybody.id, :id =&gt; 2 }
-      flash[:notice].should eql(t(:not_allowed_to_edit_topic))
-      response.should redirect_to(forum_topic_path(@forum, @topic))
+    it &quot;should be able to edit a topic that belongs to itself&quot; do
+      get 'edit', params
+      response.should render_template(&quot;edit&quot;)
     end
     
-    it &quot;should not be able to update a topic that is not theirs&quot; do
-      find_forum
-      topic_does_not_belong
-      @topic.should_not_receive(:update_attributes)
-      put 'update', { :forum_id =&gt; @everybody.id, :id =&gt; 2, :topic =&gt; { :subject =&gt; &quot;Subject&quot; } }
+    it &quot;should not be able to edit a topic that does not belong to itself&quot; do
+      get 'edit', { :forum_id =&gt; @everybody.id, :id =&gt; @other_user_topic.id }
+      response.should redirect_to(forum_topic_path(@everybody, @other_user_topic))
       flash[:notice].should eql(t(:not_allowed_to_edit_topic))
-      response.should redirect_to(forum_topic_path(@forum, @topic))
     end
     
   end
   
-  describe TopicsController, &quot;for logged in administrator&quot; do
+  describe &quot;as an admin&quot; do
     before do
       login_as(:administrator)
-      forum_viewable
     end
     
-    it &quot;should be able to see a restricted topic&quot; do
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:find).and_return(@topic)
-      @topic.should_receive(:increment!).with(&quot;views&quot;)
-      @topic.should_receive(:posts).and_return(@posts)
-      @topic.should_receive(:readers).and_return(@users)
-      @forum.stub!(:title)
-      @topic.stub!(:subject)
-      get 'show', { :id =&gt; @admin_topic.id, :forum_id =&gt; @admin_forum.id }
+    it &quot;should be able to see a topic in the admin forum&quot; do
+      get 'show', { :forum_id =&gt; @admin_forum.id, :id =&gt; @admin_topic.id }
+      response.should render_template(&quot;show&quot;)
     end
     
-    it &quot;should reset the posts count when a user views a topic they are subscribed to&quot; do
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:find).and_return(@topic)
-      @topic.should_receive(:increment!).with(&quot;views&quot;)
-      @topic.should_receive(:posts).and_return(@posts)
-      @topic.should_receive(:readers).and_return(@users)
-      @forum.stub!(:title)
-      @topic.stub!(:subject)
-      get 'show', { :id =&gt; @admin_topic.id, :forum_id =&gt; @admin_forum.id }
+    it &quot;should be able to begin to create a topic&quot; do
+      get 'new', :forum_id =&gt; @admin_forum.id
+      response.should render_template(&quot;new&quot;)
     end
     
-    it &quot;should be able to edit any topic&quot; do
-      @forum.should_receive(:topics).and_return(@topics)      
-      @topics.should_receive(:find).and_return(@topic)
-      @topic.should_receive(:posts).and_return(@posts)
-      @topic.should_receive(:belongs_to?).and_return(false)
-      get 'edit', { :forum_id =&gt; 1, :id =&gt; 1 }
-      response.should_not redirect_to(forum_topic_path)
+    it &quot;should be able to create a topic&quot; do
+      post 'create', { :forum_id =&gt; @admin_forum.id, :topic =&gt; { :subject =&gt; &quot;Testing&quot;}, :post =&gt; { :text =&gt; &quot;1, two, free&quot; } }
+      flash[:notice].should eql(t(:topic_created))
     end
     
-    it &quot;should be able to update any topic&quot; do
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:find).and_return(@topic)
-      @topic.should_receive(:update_attributes).and_return(true)
-      @topic.should_receive(:posts).and_return(@posts)
-      @posts.should_receive(:first).and_return(@post)
-      @post.should_receive(:update_attributes).and_return(true)
-      @topic.should_receive(:belongs_to?).and_return(false)
-      put 'update', { :forum_id =&gt; 1, :id =&gt; 1, :topic =&gt; { :subject =&gt; &quot;Test&quot; }, :post =&gt; { :text =&gt; &quot;One.&quot; } }
-      response.should redirect_to(forum_topic_path(@forum,@topic))
-      flash[:notice].should eql(t(:topic_updated))
+    it &quot;should not be able to create a topic with invalid data&quot; do
+      post 'create', { :forum_id =&gt; @admin_forum.id, :topic =&gt; { :subject =&gt; &quot;&quot;}, :post =&gt; { :text =&gt; &quot;1, two, free&quot; } }
+      response.should render_template(&quot;new&quot;)
+      flash[:notice].should eql(t(:topic_not_created))
     end
     
-    it &quot;should not be able to update a topic with invalid attributes for a topic&quot; do
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:find).and_return(@topic)
-      @topic.should_receive(:belongs_to?).and_return(false)
-      @topic.should_receive(:update_attributes).and_return(false)
-      put 'update', { :forum_id =&gt; 1, :id =&gt; 1, :topic =&gt; { :subject =&gt; &quot;&quot; }, :post =&gt; { :text =&gt; &quot;One.&quot; } }
-      response.should render_template(&quot;edit&quot;)
-      flash[:notice].should eql(t(:topic_not_updated))
+    it &quot;should be able to see a topic in the free-for-all forum&quot; do
+      get 'show', params
+      response.should render_template(&quot;show&quot;)
     end
     
-    it &quot;should not be able to update a topic with invalid attributes for a topic&quot; do
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:find).and_return(@topic)
-      @topic.should_receive(:belongs_to?).and_return(false)
-      @topic.should_receive(:update_attributes).and_return(true)
-      @topic.should_receive(:posts).and_return(@posts)
-      @posts.should_receive(:first).and_return(@post)
-      @post.should_receive(:update_attributes).and_return(false)
-      put 'update', { :forum_id =&gt; 1, :id =&gt; 1, :topic =&gt; { :subject =&gt; &quot;Test&quot; }, :post =&gt; { :text =&gt; &quot;&quot; } }
+    it &quot;should be able to edit a topic&quot; do
+      get 'edit', params
       response.should render_template(&quot;edit&quot;)
-      flash[:notice].should eql(t(:post_not_updated))
-    end
-    
-    it &quot;should be able to begin to create a new topic&quot; do
-      @forum.should_receive(:topics).and_return(@topics)
-      @topics.should_receive(:new).and_return(@topic)
-      @topic.should_receive(:posts).and_return(@posts)
-      @posts.should_receive(:build).and_return(@post)
-      get 'new', { :forum_id =&gt; forums(:admins_only).id }
-    end
-    
-    it &quot;should not be able to create a new topic with a blank subject&quot; do
-      post 'create', { :topic =&gt; { :subject =&gt; &quot;&quot;}, :post =&gt; { :text =&gt; &quot;New text!&quot;}, :forum_id =&gt; forums(:admins_only).id }
-      flash[:notice].should eql(&quot;Topic was not created.&quot;)
-      response.should render_template(&quot;new&quot;)
     end
-    
-    it &quot;should be able to create a topic&quot; do
-      post 'create', { :topic =&gt; { :subject =&gt; &quot;Subject&quot;}, :post =&gt; { :text =&gt; &quot;New text!&quot;}, :forum_id =&gt; forums(:admins_only).id }
-      flash[:notice].should eql(&quot;Topic has been created.&quot;)
-      
-    end
-    
   end
-  
+
 end
\ No newline at end of file</diff>
      <filename>spec/controllers/topics_controller_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,7 @@ registered_users:
   group_id: 2
   can_see_forum: true
   can_see_category: true
+  can_edit_own_topics: true
     
 anonymous_admin_forum:
   group_id: 1</diff>
      <filename>spec/fixtures/permissions.yml</filename>
    </modified>
    <modified>
      <diff>@@ -16,9 +16,9 @@ user:
   forum: everybody
   ip: localhost
 
-user_2:
+other_user:
   subject: Fourth topic!
-  user: plebian
+  user: other_user
   forum: everybody
   created_at: &lt;%= (Time.now + 5.minutes).to_s(:db) %&gt;
   ip: localhost</diff>
      <filename>spec/fixtures/topics.yml</filename>
    </modified>
    <modified>
      <diff>@@ -36,6 +36,13 @@ banned_noob:
 anonymous:
   id: 5
   login: anonymous
+  #password is blank, anonymous should never be sign-in-able.
+  salt: 
+  crypted_password: 
+  
+other_user:
+  id: 6
+  login: other_user
   #password is only_human
   salt: 8de4e91a969b7049ab1a53d57afbab578cc78021
   crypted_password: a561a12d86ed27a6c6adf52a327979fcf74c1f3c
\ No newline at end of file</diff>
      <filename>spec/fixtures/users.yml</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,2 @@
 --exclude &quot;spec/*,gems/*&quot; 
---rails
--t
\ No newline at end of file
+--rails
\ No newline at end of file</diff>
      <filename>spec/rcov.opts</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 --colour
 --format progress
 --loadby mtime
---reverse
\ No newline at end of file
+--reverse</diff>
      <filename>spec/spec.opts</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>vendor/plugins/rspec-rails/.gitignore</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/History.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/License.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/Manifest.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/README.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/Rakefile</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/UPGRADE</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/CHANGES</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/rspec_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/all_stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/previous_failures.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/rcov.opts</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/rspec.rake</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/script/autospec</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/script/spec</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/script/spec_server</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/spec.opts</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/spec_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec/templates/stories_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_controller/USAGE</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_controller/rspec_controller_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_controller/templates/controller_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_controller/templates/helper_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_controller/templates/view_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_default_values.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_model/USAGE</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_model/rspec_model_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_model/templates/model_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/rspec_scaffold_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/controller_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/edit_erb_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/helper_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/index_erb_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/new_erb_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/routing_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/init.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/autotest/discover.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/cookies_proxy.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/model_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/interop/testcase.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers/change.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/lib/spec/rails/version.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/rspec-rails.gemspec</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/cookies_proxy_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/interop/testcase_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/render_template_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/matchers/should_change_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/sample_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails/spec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/rails_suite.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec/spec_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/controllers/action_view_base_spec_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/controllers/render_spec_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/controllers/rjs_spec_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/helpers/explicit_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/helpers/more_explicit_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/helpers/plugin_application_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/helpers/view_spec_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/controller_spec/_partial.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/controller_spec/action_with_template.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/layouts/application.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/layouts/simple.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/objects/_object.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/render_spec/_a_partial.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/render_spec/action_with_alternate_layout.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.js.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/render_spec/some_action.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/hide_div.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/hide_page_element.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/insert_html.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/replace.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/replace_html.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/visual_effect.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/tag_spec/no_tags.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_used_twice.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/_spacer.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/accessor.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/block_helper.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/entry_form.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/explicit_helper.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/foo/show.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/implicit_helper.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/multiple_helpers.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/should_not_receive.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/template_with_partial.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/stories/all.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/stories/configuration/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/stories/helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/stories/steps/people.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/stories/transactions_should_rollback</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec-rails/stories/transactions_should_rollback.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/.autotest</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/.gitignore</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/History.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/License.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/Manifest.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/README.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/Rakefile</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/TODO.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/bin/autospec</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/bin/spec</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/autogenerated_docstrings_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/before_and_after_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/behave_as_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/custom_expectation_matchers.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/custom_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/dynamic_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/file_accessor.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/file_accessor_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/greeter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/helper_method_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/io_processor.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/io_processor_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/legacy_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/mocking_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/multi_threaded_behaviour_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/nested_classes_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/partial_mock_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/pending_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/predicate_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/priority.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/shared_example_group_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/shared_stack_examples.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/spec_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/stack.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/stack_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/stubbing_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/pure/yielding_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/adder.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/addition</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/addition.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/calculator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/.loadpath</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/README.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/examples.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/steps.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/life.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/life/game.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/game-of-life/life/grid.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/examples/stories/steps/addition_steps.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/README.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/diffing_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/failing_autogenerated_docstrings_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/failure_in_setup.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/failure_in_teardown.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/mocking_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/mocking_with_rr.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/partial_mock_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/predicate_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/raising_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/spec_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/syntax_error_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/team_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/failing_examples/timeout_behaviour.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/init.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/autotest/discover.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/autotest/rspec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/adapters.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/adapters/ruby_engine.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/adapters/ruby_engine/mri.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/adapters/ruby_engine/rubinius.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/dsl.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/dsl/main.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/before_and_after_hooks.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/configuration.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/errors.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/example_group_factory.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/example_group_methods.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/example_matcher.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/example_methods.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/module_inclusion_warnings.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/module_reopening_fix.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/pending.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/example/shared_example_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations/differs/default.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations/errors.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations/extensions.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/expectations/handler.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/extensions.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/extensions/class.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/extensions/main.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/extensions/metaclass.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/extensions/object.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/interop/test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/be.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/be_close.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/change.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/eql.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/equal.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/errors.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/exist.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/generated_descriptions.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/has.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/have.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/include.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/match.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/method_missing.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/raise_error.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/respond_to.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/satisfy.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/argument_constraints.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/error_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/errors.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/extensions.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/framework.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/methods.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/mock.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/order_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/proxy.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/space.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/rake/spectask.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/class_and_arguments_parser.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/command_line.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/nested_text_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/story/progress_bar_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/formatter/text_mate_formatter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/option_parser.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/options.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/reporter.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/runner/spec_parser.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/extensions.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/extensions/main.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/extensions/regexp.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/extensions/string.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/given_scenario.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner/scenario_collector.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner/story_mediator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner/story_parser.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/scenario.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/step.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/step_group.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/step_mother.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/story.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/story/world.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/lib/spec/version.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/plugins/mock_frameworks/rr.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/rake_tasks/examples.rake</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/rake_tasks/verify_rcov.rake</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/rspec.gemspec</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/README.jruby</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/autotest/autotest_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/autotest/autotest_matchers.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/autotest/discover_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/autotest/rspec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/rspec_suite.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/ruby_forker.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec.opts</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/adapters/ruby_engine_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/dsl/main_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/configuration_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_group/described_module_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_group/warning_messages_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_group_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_matcher_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/example_runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/nested_example_group_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/predicate_matcher_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/example/subclassing_example_group_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/extensions/main_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/be_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/change_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/has_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/have_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/include_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/match_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_10263_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_15719_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_496.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/nil_expectation_warning_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/class_and_argument_parser_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/empty_file.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/examples.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/failed.txt</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/base_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/nested_text_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/options_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/output_one_time_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/resources/a_bar.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/resources/a_foo.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/resources/a_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/spec.opts</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/spec_drb.opts</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/spec_parser/spec_parser_fixture.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/spec_classes.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/builders.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/extensions/main_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/extensions_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/given_scenario_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner/story_parser_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/runner_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/scenario_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/step_group_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/step_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/story_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/story_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec/story/world_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/spec/spec_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/all.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/configuration/before_blocks.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/configuration/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/example_groups/autogenerated_docstrings</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/example_groups/example_group_with_should_methods</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/example_groups/nested_groups</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/example_groups/output</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/example_groups/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/interop/examples_and_tests_together</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/interop/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/interop/test_case_with_should_methods</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/mock_framework_integration/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/mock_framework_integration/use_flexmock.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/pending_stories/README</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/helpers/cmdline.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/helpers/story_helper.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/matchers/smart_match.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/spec/before_blocks_example.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/spec/example_group_with_should_methods.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/spec/simple_spec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/spec/spec_with_flexmock.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/steps/running_rspec.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/resources/stories/failing_story.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/stories/multiline_steps.story</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/stories/steps/multiline_steps.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/stories/stories/stories.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/builder.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/controls.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/dragdrop.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/effects.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/prototype.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/rspec.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/scriptaculous.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/slider.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/sound.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/javascripts/unittest.js</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/lib/server.rb</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/stories.html</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/stylesheets/rspec.css</filename>
    </removed>
    <removed>
      <filename>vendor/plugins/rspec/story_server/prototype/stylesheets/test.css</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>45a691295c59b9f46f0c81dd38da5d59f0a574c4</id>
    </parent>
  </parents>
  <author>
    <name>Ryan Bigg</name>
    <email>radarlistener@gmail.com</email>
  </author>
  <url>http://github.com/radar/rboard/commit/a6c0c90ddfcd14bb467c539ee7a6e6d368a83769</url>
  <id>a6c0c90ddfcd14bb467c539ee7a6e6d368a83769</id>
  <committed-date>2009-03-30T05:31:45-07:00</committed-date>
  <authored-date>2009-03-30T05:31:45-07:00</authored-date>
  <message>Another night, another slew of changes. Submmoduled rspec and beginning to refactor tests.</message>
  <tree>35841d9f178e508b2d23e9b007479ba4c9e4c18e</tree>
  <committer>
    <name>Ryan Bigg</name>
    <email>radarlistener@gmail.com</email>
  </committer>
</commit>
