<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +1,8 @@
 module ResourceController
-  ACTIONS          = [:index, :show, :new_action, :create, :edit, :update, :destroy].freeze
-  FAILABLE_ACTIONS = ACTIONS - [:index, :new_action, :edit].freeze
-  NAME_ACCESSORS   = [:model_name, :route_name, :object_name]  
+  ACTIONS           = [:index, :show, :new_action, :create, :edit, :update, :destroy].freeze
+  SINGLETON_ACTIONS = (ACTIONS - [:index]).freeze
+  FAILABLE_ACTIONS  = ACTIONS - [:index, :new_action, :edit].freeze
+  NAME_ACCESSORS    = [:model_name, :route_name, :object_name]  
   
   module ActionControllerExtension
     unloadable</diff>
      <filename>lib/resource_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,8 +10,10 @@ module ResourceController
       config = {}
       config.merge!(opts.pop) if opts.last.is_a?(Hash)
 
+      all_actions = (singleton? ? ResourceController::SINGLETON_ACTIONS : ResourceController::ACTIONS) - [:new_action] + [:new]
+      
       actions_to_remove = []
-      actions_to_remove += (ResourceController::ACTIONS - [:new_action] + [:new]) - opts unless opts.first == :all                
+      actions_to_remove += all_actions - opts unless opts.first == :all                
       actions_to_remove += [*config[:except]] if config[:except]
       actions_to_remove.uniq!
 </diff>
      <filename>lib/resource_controller/class_methods.rb</filename>
    </modified>
    <modified>
      <diff>@@ -57,6 +57,12 @@ module ResourceController
             flash &quot;Successfully removed!&quot;
             wants.html { redirect_to collection_url }
           end
+          
+          class &lt;&lt; self
+            def singleton?
+              false
+            end
+          end
         end
       end
   end</diff>
      <filename>lib/resource_controller/controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,12 @@ module ResourceController::Helpers::SingletonCustomizations
       methods_to_undefine = [:param, :index, :collection, :load_collection, :collection_url, 
         :collection_path, :hash_for_collection_url, :hash_for_collection_path]
       methods_to_undefine.each { |method| undef_method(method) if method_defined? method }
+      
+      class &lt;&lt; self
+        def singleton?
+          true
+        end
+      end
     end
   end
   </diff>
      <filename>lib/resource_controller/helpers/singleton_customizations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,4 @@
 class ImagesController &lt; ResourceController::Singleton
   belongs_to :user
+  actions :create
 end
\ No newline at end of file</diff>
      <filename>test/app/controllers/images_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -26,6 +26,12 @@ class ImagesControllerTest &lt; Test::Unit::TestCase
         assert users(:one), assigns(:image).user
       end
     end
+    
   end  
   
+  should &quot;not respond to show&quot; do
+    assert_raise(ActionController::UnknownAction) do
+      get :show
+    end
+  end
 end</diff>
      <filename>test/test/functional/images_controller_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test/app/views/images/show.html.erb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>df29959181e1a4140ce0d0f8a50d81ffbe7b17b6</id>
    </parent>
  </parents>
  <author>
    <name>James Golick</name>
    <email>james@giraffesoft.ca</email>
  </author>
  <url>http://github.com/mattswell/resource_controller/commit/6fa9cee1785aad6ee9a6c1fd1a4866075823388f</url>
  <id>6fa9cee1785aad6ee9a6c1fd1a4866075823388f</id>
  <committed-date>2008-06-24T11:04:14-07:00</committed-date>
  <authored-date>2008-06-24T11:04:14-07:00</authored-date>
  <message>make it possible to specify actions on singleton controller</message>
  <tree>0daddab61c155e211a84bb40351e3eaf077eb254</tree>
  <committer>
    <name>James Golick</name>
    <email>james@giraffesoft.ca</email>
  </committer>
</commit>
