<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,6 +2,22 @@
 
 * Porting to Rails 2.1.0 [Kent Sibilev]
 
+* Documentation for ActionWebService::API::Base. Closes #7275. [zackchandler]
+
+* Allow action_web_service to handle various HTTP methods including GET. Closes #7011. [zackchandler]
+
+* Ensure that DispatcherError is being thrown when a malformed request is received. [Kent Sibilev]
+
+* Added support for decimal types. Closes #6676. [Kent Sibilev]
+
+* Removed deprecated end_form_tag helper. [Kent Sibilev]
+
+* Removed deprecated @request and @response usages. [Kent Sibilev]
+
+* Removed deprecated end_form_tag helper. [Kent Sibilev]
+
+* Removed deprecated @request and @response usages. [Kent Sibilev]
+
 *1.2.6* (November 24th, 2007)
 
 * Depend on Action Pack 1.13.6</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -261,6 +261,23 @@ Example:
 This example invokes the API method &lt;tt&gt;test&lt;/tt&gt;, defined on 
 the PersonController, and returns the result.
 
+If you're not using SOAP (or you're having serialisation difficulties), 
+you can test XMLRPC like this:
+
+  class PersonApiControllerTest &lt; Test::Unit::TestCase
+    def setup
+      @controller = PersonController.new
+      @request    = ActionController::TestRequest.new
+      @response   = ActionController::TestResponse.new
+
+      @protocol   = :xmlrpc # can also be :soap, the default
+    end
+
+    def test_add
+      result = invoke :remove, 1 # no change here
+      assert_equal true, result
+    end
+  end
 
 === Scaffolding
 </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -34,8 +34,8 @@ SCHEMA_PATH = File.join(File.dirname(__FILE__), *%w(test fixtures db_definitions
 
 desc 'Build the MySQL test database'
 task :build_database do 
-  %x( mysqladmin  create actionwebservice_unittest )
-  %x( mysql  actionwebservice_unittest &lt; #{File.join(SCHEMA_PATH, 'mysql.sql')} )
+  %x( mysqladmin -uroot create actionwebservice_unittest )
+  %x( mysql -uroot actionwebservice_unittest &lt; #{File.join(SCHEMA_PATH, 'mysql.sql')} )
 end
 
 
@@ -44,6 +44,7 @@ Rake::RDocTask.new { |rdoc|
   rdoc.rdoc_dir = 'doc'
   rdoc.title    = &quot;Action Web Service -- Web services for Action Pack&quot;
   rdoc.options &lt;&lt; '--line-numbers' &lt;&lt; '--inline-source'
+  rdoc.options &lt;&lt; '--charset' &lt;&lt; 'utf-8'
   rdoc.template = &quot;#{ENV['template']}.rb&quot; if ENV['template']
   rdoc.rdoc_files.include('README')
   rdoc.rdoc_files.include('CHANGELOG')
@@ -77,7 +78,7 @@ spec = Gem::Specification.new do |s|
   s.has_rdoc = true
   s.requirements &lt;&lt; 'none'
   s.require_path = 'lib'
-  s.autorequire = 'action_web_service'
+  s.autorequire = 'actionwebservice'
 
   s.files = [ &quot;Rakefile&quot;, &quot;setup.rb&quot;, &quot;README&quot;, &quot;TODO&quot;, &quot;CHANGELOG&quot;, &quot;MIT-LICENSE&quot; ]
   s.files = s.files + Dir.glob( &quot;examples/**/*&quot; ).delete_if { |item| item.match( /\.(svn|git)/ ) }</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
   s.has_rdoc = true
   s.requirements &lt;&lt; 'none'
   s.require_path = 'lib'
-  s.autorequire = 'action_web_service'
+  s.autorequire = 'actionwebservice'
 
   s.files = [ &quot;Rakefile&quot;, &quot;setup.rb&quot;, &quot;README&quot;, &quot;TODO&quot;, &quot;CHANGELOG&quot;, &quot;MIT-LICENSE&quot; ]
   s.files = s.files + Dir.glob( &quot;examples/**/*&quot; ).delete_if { |item| item.match( /\.(svn|git)/ ) }</diff>
      <filename>actionwebservice.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,9 @@ module ActionWebService # :nodoc:
       # Whether to transform the public API method names into camel-cased names 
       class_inheritable_option :inflect_names, true
 
+      # By default only HTTP POST requests are processed
+      class_inheritable_option :allowed_http_methods, [ :post ]
+       
       # Whether to allow ActiveRecord::Base models in &lt;tt&gt;:expects&lt;/tt&gt;.
       # The default is +false+; you should be aware of the security implications
       # of allowing this, and ensure that you don't allow remote callers to
@@ -91,17 +94,34 @@ module ActionWebService # :nodoc:
         end
 
         # Whether the given method name is a service method on this API
+        #
+        #   class ProjectsApi &lt; ActionWebService::API::Base
+        #     api_method :getCount, :returns =&gt; [:int]
+        #   end
+        #
+        #   ProjectsApi.has_api_method?('GetCount')   #=&gt; false
+        #   ProjectsApi.has_api_method?(:getCount)    #=&gt; true
         def has_api_method?(name)
           api_methods.has_key?(name)
         end
   
         # Whether the given public method name has a corresponding service method
         # on this API
+        #
+        #   class ProjectsApi &lt; ActionWebService::API::Base
+        #     api_method :getCount, :returns =&gt; [:int]
+        #   end
+        #
+        #   ProjectsApi.has_api_method?(:getCount)    #=&gt; false
+        #   ProjectsApi.has_api_method?('GetCount')   #=&gt; true
         def has_public_api_method?(public_name)
           api_public_method_names.has_key?(public_name)
         end
   
         # The corresponding public method name for the given service method name
+        #
+        #   ProjectsApi.public_api_method_name('GetCount')  #=&gt; &quot;GetCount&quot;
+        #   ProjectsApi.public_api_method_name(:getCount)   #=&gt; &quot;GetCount&quot;
         def public_api_method_name(name)
           if inflect_names
             name.to_s.camelize
@@ -111,22 +131,54 @@ module ActionWebService # :nodoc:
         end
   
         # The corresponding service method name for the given public method name
+        #
+        #   class ProjectsApi &lt; ActionWebService::API::Base
+        #     api_method :getCount, :returns =&gt; [:int]
+        #   end
+        #        
+        #   ProjectsApi.api_method_name('GetCount') #=&gt; :getCount
         def api_method_name(public_name)
           api_public_method_names[public_name]
         end
   
         # A Hash containing all service methods on this API, and their
         # associated metadata.
+        #
+        #   class ProjectsApi &lt; ActionWebService::API::Base
+        #     api_method :getCount,          :returns =&gt; [:int]
+        #     api_method :getCompletedCount, :returns =&gt; [:int]
+        #   end
+        #
+        #   ProjectsApi.api_methods #=&gt; 
+        #     {:getCount=&gt;#&lt;ActionWebService::API::Method:0x24379d8 ...&gt;,
+        #      :getCompletedCount=&gt;#&lt;ActionWebService::API::Method:0x2437794 ...&gt;}
+        #   ProjectsApi.api_methods[:getCount].public_name #=&gt; &quot;GetCount&quot;
         def api_methods
           read_inheritable_attribute(&quot;api_methods&quot;) || {}
         end
 
         # The Method instance for the given public API method name, if any
+        #
+        #   class ProjectsApi &lt; ActionWebService::API::Base
+        #     api_method :getCount,          :returns =&gt; [:int]
+        #     api_method :getCompletedCount, :returns =&gt; [:int]
+        #   end
+        #
+        #   ProjectsApi.public_api_method_instance('GetCount')  #=&gt; &lt;#&lt;ActionWebService::API::Method:0x24379d8 ...&gt;
+        #   ProjectsApi.public_api_method_instance(:getCount)   #=&gt; nil
         def public_api_method_instance(public_method_name)
           api_method_instance(api_method_name(public_method_name))
         end
 
         # The Method instance for the given API method name, if any
+        #
+        #   class ProjectsApi &lt; ActionWebService::API::Base
+        #     api_method :getCount,          :returns =&gt; [:int]
+        #     api_method :getCompletedCount, :returns =&gt; [:int]
+        #   end
+        #
+        #   ProjectsApi.api_method_instance(:getCount) #=&gt; &lt;ActionWebService::API::Method:0x24379d8 ...&gt;
+        #   ProjectsApi.api_method_instance('GetCount') #=&gt; &lt;ActionWebService::API::Method:0x24379d8 ...&gt;
         def api_method_instance(method_name)
           api_methods[method_name]
         end</diff>
      <filename>lib/action_web_service/api.rb</filename>
    </modified>
    <modified>
      <diff>@@ -95,9 +95,17 @@ module ActionWebService # :nodoc:
             end
           when :float
             Float(value)
+          when :decimal
+            BigDecimal(value.to_s)
           when :time
             value = &quot;%s/%s/%s %s:%s:%s&quot; % value.values_at(*%w[2 3 1 4 5 6]) if value.kind_of?(Hash)
-            value.kind_of?(Time) ? value : Time.parse(value.to_s)
+            if value.kind_of?(Time) 
+              value
+            elsif value.kind_of?(DateTime)
+              value.to_time
+            else
+              Time.parse(value.to_s)
+            end
           when :date
             value = &quot;%s/%s/%s&quot; % value.values_at(*%w[2 3 1]) if value.kind_of?(Hash)
             value.kind_of?(Date) ? value : Date.parse(value.to_s)</diff>
      <filename>lib/action_web_service/casting.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,10 @@ require 'benchmark'
 module ActionWebService # :nodoc:
   module Dispatcher # :nodoc:
     class DispatcherError &lt; ActionWebService::ActionWebServiceError # :nodoc:
+      def initialize(*args)
+        super
+        set_backtrace(caller)
+      end
     end
 
     def self.included(base) # :nodoc:</diff>
      <filename>lib/action_web_service/dispatcher/abstract.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,8 +37,11 @@ module ActionWebService # :nodoc:
       module InstanceMethods # :nodoc:
         private
           def dispatch_web_service_request
-            if request.get?
-              render :status =&gt; 500, :text =&gt; 'GET not supported'
+            method = request.method.to_s.upcase
+            allowed_methods = self.class.web_service_api ? (self.class.web_service_api.allowed_http_methods || []) : [ :post ]
+            allowed_methods = allowed_methods.map{|m| m.to_s.upcase }
+            if !allowed_methods.include?(method)
+              render :text =&gt; &quot;#{method} not supported&quot;, :status=&gt;500
               return
             end
             exception = nil</diff>
      <filename>lib/action_web_service/dispatcher/action_controller_dispatcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -125,18 +125,12 @@ module ActionWebService
           end
 
           def register_static_factories
-            @registry.add(ActionWebService::Base64,
-                          SOAP::SOAPBase64,
-                          SoapBase64Factory.new,
-                          nil)
+            @registry.add(ActionWebService::Base64, SOAP::SOAPBase64, SoapBase64Factory.new, nil)
             mapping = @registry.find_mapped_soap_class(ActionWebService::Base64)
             @type2binding[ActionWebService::Base64] =
-              SoapBinding.new(self, SOAP::SOAPBase64::Type,
-                              ActionWebService::Base64, mapping)
-            @registry.add(Array,
-                          SOAP::SOAPArray,
-                          SoapTypedArrayFactory.new,
-                          nil)
+              SoapBinding.new(self, SOAP::SOAPBase64::Type, ActionWebService::Base64, mapping)
+            @registry.add(Array, SOAP::SOAPArray, SoapTypedArrayFactory.new, nil)
+            @registry.add(::BigDecimal, SOAP::SOAPDouble, SOAP::Mapping::Registry::BasetypeFactory, {:derived_class =&gt; true})
           end
       end
 </diff>
      <filename>lib/action_web_service/protocol/soap_protocol/marshaler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,6 +5,16 @@ module XMLRPC # :nodoc:
   class FaultException # :nodoc:
     alias :message :faultString
   end
+  
+  class Create
+    def wrong_type(value)
+      if BigDecimal === value
+        [true, value.to_f]
+      else
+        false
+      end
+    end
+  end
 end
 
 module ActionWebService # :nodoc:
@@ -35,6 +45,8 @@ module ActionWebService # :nodoc:
         def decode_request(raw_request, service_name)
           method_name, params = XMLRPC::Marshal.load_call(raw_request)
           Request.new(self, method_name, params, service_name)
+        rescue
+          return nil
         end
 
         def encode_request(method_name, params, param_types)</diff>
      <filename>lib/action_web_service/protocol/xmlrpc_protocol.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,10 +25,10 @@ module ActionWebService
     #
     # If you want to customize the default views, create the following views in &quot;app/views&quot;:
     #
-    # * &lt;tt&gt;action_name/methods.rhtml&lt;/tt&gt;
-    # * &lt;tt&gt;action_name/parameters.rhtml&lt;/tt&gt;
-    # * &lt;tt&gt;action_name/result.rhtml&lt;/tt&gt;
-    # * &lt;tt&gt;action_name/layout.rhtml&lt;/tt&gt;
+    # * &lt;tt&gt;action_name/methods.html.erb&lt;/tt&gt;
+    # * &lt;tt&gt;action_name/parameters.html.erb&lt;/tt&gt;
+    # * &lt;tt&gt;action_name/result.html.erb&lt;/tt&gt;
+    # * &lt;tt&gt;action_name/layout.html.erb&lt;/tt&gt;
     #
     # Where &lt;tt&gt;action_name&lt;/tt&gt; is the name of the action you gave to ClassMethods#web_service_scaffold.
     #
@@ -122,7 +122,7 @@ module ActionWebService
             end
 
             def scaffold_path(template_name)
-              File.dirname(__FILE__) + &quot;/templates/scaffolds/&quot; + template_name + &quot;.rhtml&quot;
+              File.dirname(__FILE__) + &quot;/templates/scaffolds/&quot; + template_name + &quot;.html.erb&quot;
             end
 
             def reset_invocation_response</diff>
      <filename>lib/action_web_service/scaffolding.rb</filename>
    </modified>
    <modified>
      <diff>@@ -61,6 +61,8 @@ module ActionWebService # :nodoc:
           :bool
         when :float, :double
           :float
+        when :decimal
+          :decimal
         when :time, :timestamp
           :time
         when :datetime
@@ -117,6 +119,8 @@ module ActionWebService # :nodoc:
         TrueClass
       when :float
         Float
+      when :decimal
+        BigDecimal
       when :time
         Time
       when :date</diff>
      <filename>lib/action_web_service/support/signature_types.rb</filename>
    </modified>
    <modified>
      <diff>@@ -968,7 +968,7 @@ class ToplevelInstallerMulti &lt; ToplevelInstaller
 
   def print_usage(f)
     super
-    f.puts 'Inluded packages:'
+    f.puts 'Included packages:'
     f.puts '  ' + @packages.sort.join(' ')
     f.puts
   end</diff>
      <filename>setup.rb</filename>
    </modified>
    <modified>
      <diff>@@ -164,7 +164,7 @@ module ClientTest
       @container = Container.new
       @clientlet = create_clientlet(@container)
       log = WEBrick::BasicLog.new(NullLogOut.new)
-      @server = WEBrick::HTTPServer.new(:Port =&gt; server_port, :Logger =&gt; log, :AccessLog =&gt; log)
+      @server = WEBrick::HTTPServer.new(:Port =&gt; server_port, :Logger =&gt; log, :AccessLog =&gt; [])
       @server.mount('/', @clientlet)
       @thr = Thread.new { @server.start }
       until @server.status == :Running; end</diff>
      <filename>test/abstract_client.rb</filename>
    </modified>
    <modified>
      <diff>@@ -426,6 +426,39 @@ module DispatcherCommonTests
     assert_match /Web Service Request/, buf
   end
 
+  def test_allowed_http_methods
+    webservice_api = @direct_controller.class.web_service_api
+    original_allowed_http_methods = webservice_api.allowed_http_methods
+    
+    # check defaults
+    assert_equal false, http_method_allowed?(:get)
+    assert_equal false, http_method_allowed?(:head)
+    assert_equal false, http_method_allowed?(:put)
+    assert_equal false, http_method_allowed?(:delete)
+    assert_equal true,  http_method_allowed?(:post)
+    
+    # allow get and post
+    webservice_api.allowed_http_methods = [ :get, :post ]
+    assert_equal true,  http_method_allowed?(:get)
+    assert_equal true,  http_method_allowed?(:post)
+
+    # allow get only
+    webservice_api.allowed_http_methods = [ :get ]
+    assert_equal true,  http_method_allowed?(:get)
+    assert_equal false, http_method_allowed?(:post)
+    
+    # allow delete only
+    webservice_api.allowed_http_methods = [ 'DELETE' ]
+    assert_equal false, http_method_allowed?(:get)
+    assert_equal false, http_method_allowed?(:head)
+    assert_equal false, http_method_allowed?(:post)
+    assert_equal false, http_method_allowed?(:put)
+    assert_equal true,  http_method_allowed?(:delete)
+    
+  ensure
+    webservice_api.allowed_http_methods = original_allowed_http_methods    
+  end
+  
   protected
     def service_name(container)
       raise NotImplementedError
@@ -502,4 +535,13 @@ module DispatcherCommonTests
       end
       return_value
     end
+    
+    def http_method_allowed?(method)
+      method = method.to_s.upcase
+      test_request = ActionController::TestRequest.new({ 'action' =&gt; 'api' })
+      test_response = ActionController::TestResponse.new
+      test_request.env['REQUEST_METHOD'] = method
+      result = @direct_controller.process(test_request, test_response)
+      result.body =~ /(GET|POST|PUT|DELETE|TRACE|CONNECT) not supported/ ? false : true
+    end
 end</diff>
      <filename>test/abstract_dispatcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,6 @@
+$: &lt;&lt; &quot;#{File.dirname(__FILE__)}/../lib&quot;
 ENV[&quot;RAILS_ENV&quot;] = &quot;test&quot;
-$:.unshift(File.dirname(__FILE__) + '/../lib')
-$:.unshift(File.dirname(__FILE__) + '/../../activesupport/lib')
-$:.unshift(File.dirname(__FILE__) + '/../../actionpack/lib')
-$:.unshift(File.dirname(__FILE__) + '/../../activerecord/lib')
-
+require 'rubygems'
 require 'test/unit'
 require 'action_web_service'
 require 'action_controller'
@@ -13,13 +10,11 @@ require 'action_controller/test_process'
 ActiveSupport::Deprecation.debug = true
 
 
-ActionController::Base.logger = Logger.new(&quot;debug.log&quot;)
-ActionController::Base.ignore_missing_templates = true
+ActiveRecord::Base.logger = ActionController::Base.logger = Logger.new(&quot;debug.log&quot;)
 
 begin
-  PATH_TO_AR = File.dirname(__FILE__) + '/../../activerecord'
-  require &quot;#{PATH_TO_AR}/lib/active_record&quot; unless Object.const_defined?(:ActiveRecord)
-  require &quot;#{PATH_TO_AR}/lib/active_record/fixtures&quot; unless Object.const_defined?(:Fixtures)
+  require 'activerecord'
+  require &quot;active_record/fixtures&quot; unless Object.const_defined?(:Fixtures)
 rescue LoadError =&gt; e
   fail &quot;\nFailed to load activerecord: #{e}&quot;
 end
@@ -27,7 +22,7 @@ end
 ActiveRecord::Base.configurations = {
   'mysql' =&gt; {
     :adapter  =&gt; &quot;mysql&quot;,
-    :username =&gt; &quot;rails&quot;,
+    :username =&gt; &quot;root&quot;,
     :encoding =&gt; &quot;utf8&quot;,
     :database =&gt; &quot;actionwebservice_unittest&quot;
   }
@@ -36,10 +31,3 @@ ActiveRecord::Base.configurations = {
 ActiveRecord::Base.establish_connection 'mysql'
 
 Test::Unit::TestCase.fixture_path = &quot;#{File.dirname(__FILE__)}/fixtures/&quot;
-
-# restore default raw_post functionality
-class ActionController::TestRequest
-  def raw_post
-    super
-  end
-end</diff>
      <filename>test/abstract_unit.rb</filename>
    </modified>
    <modified>
      <diff>@@ -126,6 +126,7 @@ class TC_ClientSoap &lt; Test::Unit::TestCase
     assert user.active?
     assert_kind_of Date, user.created_on
     assert_equal Date.today, user.created_on
+    assert_equal BigDecimal('12.2'), user.balance
   end
   
   def test_with_model</diff>
      <filename>test/client_soap_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,6 @@ module ClientXmlRpcTest
       @controller.process(test_request, response) 
       res.header['content-type'] = 'text/xml'
       res.body = response.body
-      # puts res.body
     rescue Exception =&gt; e
       $stderr.puts e.message
       $stderr.puts e.backtrace.join(&quot;\n&quot;)
@@ -125,6 +124,7 @@ class TC_ClientXmlRpc &lt; Test::Unit::TestCase
     assert user.active?
     assert_kind_of Time, user.created_on
     assert_equal Time.utc(Time.now.year, Time.now.month, Time.now.day), user.created_on
+    assert_equal BigDecimal('12.2'), user.balance
   end
 
   def test_with_model</diff>
      <filename>test/client_xmlrpc_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,7 @@ CREATE TABLE `users` (
   `id` int(11) NOT NULL auto_increment,
   `name` varchar(30) default NULL,
   `active` tinyint(4) default NULL,
+  `balance` decimal(5, 2) default NULL,
   `created_on` date default NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1;</diff>
      <filename>test/fixtures/db_definitions/mysql.sql</filename>
    </modified>
    <modified>
      <diff>@@ -2,9 +2,11 @@ user1:
   id: 1
   name: Kent
   active: 1
+  balance: 12.2
   created_on: &lt;%= Date.today %&gt;
 user2:
   id: 2
   name: David
   active: 1
+  balance: 16.4
   created_on: &lt;%= Date.today %&gt;</diff>
      <filename>test/fixtures/users.yml</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ ActionController::Routing::Routes.draw do |map|
   map.connect ':controller/:action/:id'
 end
 
-ActionController::Base.template_root = '.'
+ActionController::Base.view_paths = [ '.' ]
 
 class ScaffoldPerson &lt; ActionWebService::Struct
   member :id,     :int
@@ -73,30 +73,30 @@ class ScaffoldedControllerTest &lt; Test::Unit::TestCase
 
   def test_scaffold_invoke
     get :scaffold_invoke
-    assert_template 'methods.rhtml'
+    assert_template 'methods.html.erb'
   end
 
   def test_scaffold_invoke_method_params
     get :scaffold_invoke_method_params, :service =&gt; 'scaffolded', :method =&gt; 'Hello'
-    assert_template 'parameters.rhtml'
+    assert_template 'parameters.html.erb'
   end
   
   def test_scaffold_invoke_method_params_with_struct
     get :scaffold_invoke_method_params, :service =&gt; 'scaffolded', :method =&gt; 'HelloStructParam'
-    assert_template 'parameters.rhtml'
+    assert_template 'parameters.html.erb'
     assert_tag :tag =&gt; 'form'
     assert_tag :tag =&gt; 'input', :attributes =&gt; {:name =&gt; &quot;method_params[0][name]&quot;}
   end
 
   def test_scaffold_invoke_submit_hello
     post :scaffold_invoke_submit, :service =&gt; 'scaffolded', :method =&gt; 'Hello', :method_params =&gt; {'0' =&gt; '5', '1' =&gt; 'hello world'}
-    assert_template 'result.rhtml'
+    assert_template 'result.html.erb'
     assert_equal false, @controller.instance_eval{ @method_return_value }
   end
 
   def test_scaffold_invoke_submit_bye
     post :scaffold_invoke_submit, :service =&gt; 'scaffolded', :method =&gt; 'Bye'
-    assert_template 'result.rhtml'
+    assert_template 'result.html.erb'
     persons = [ScaffoldPerson.new(:id =&gt; 1, :name =&gt; &quot;leon&quot;), ScaffoldPerson.new(:id =&gt; 2, :name =&gt; &quot;paul&quot;)]
     assert_equal persons, @controller.instance_eval{ @method_return_value }
   end</diff>
      <filename>test/scaffolded_controller_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>1749d71f56e1ddeb7128c8a67d60477df365f92b</id>
    </parent>
  </parents>
  <author>
    <name>Kent Sibilev</name>
    <email>ksibilev@yahoo.com</email>
  </author>
  <url>http://github.com/datanoise/actionwebservice/commit/a4ddfc26ccc0cb9534ea374000df95802901227c</url>
  <id>a4ddfc26ccc0cb9534ea374000df95802901227c</id>
  <committed-date>2008-07-02T22:45:59-07:00</committed-date>
  <authored-date>2008-07-02T22:45:59-07:00</authored-date>
  <message>ported all changes since rails 1.2.6
fixed casting of Time objects
fixed unit tests</message>
  <tree>2441255db4b6ba67682c731b7868c89eee5671d6</tree>
  <committer>
    <name>Kent Sibilev</name>
    <email>ksibilev@yahoo.com</email>
  </committer>
</commit>
