<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -4,7 +4,6 @@ require 'rake/testtask'
 require 'rake/rdoctask'
 require 'spec/rake/spectask'
 require 'rake/contrib/sshpublisher'
-require &quot;darkfish-rdoc&quot;
 
 desc 'Default: run unit tests.'
 task :default =&gt; :test
@@ -32,21 +31,14 @@ desc 'Generate documentation for the backgroundrb plugin.'
 Rake::RDocTask.new(:rdoc) do |rdoc|
   rdoc.rdoc_dir = 'doc/output/manual'
   rdoc.title    = 'Backgroundrb'
-  #rdoc.options &lt;&lt; '--line-numbers' &lt;&lt; '--inline-source'
+  rdoc.options &lt;&lt; '--line-numbers' &lt;&lt; '--inline-source'
   rdoc.rdoc_files.include('README')
   rdoc.rdoc_files.include('LICENSE')
   rdoc.rdoc_files.include('lib/*.rb')
   rdoc.rdoc_files.include('lib/backgroundrb/*.rb')
   rdoc.rdoc_files.include('server/*.rb')
   rdoc.rdoc_files.include('server/lib/*.rb')
-  #rdoc.template = 'jamis'
-  rdoc.options += [
-                   '-w', '4',
-                   '-SHN',
-                   '-f', 'darkfish', # This bit
-                   '-m', 'README',
-                  ]
-
+  rdoc.template = 'jamis'
 end
 
 module Rake</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -126,7 +126,12 @@ module BackgrounDRb
       db_config_file = YAML.load(ERB.new(IO.read(&quot;#{RAILS_HOME}/config/database.yml&quot;)).result)
       run_env = ENV[&quot;RAILS_ENV&quot;]
       ActiveRecord::Base.establish_connection(db_config_file[run_env])
-      ActiveRecord::Base.allow_concurrency = true
+
+      if(Object.const_defined?(:Rails) &amp;&amp; Rails.version &lt; &quot;2.2.2&quot;)
+        ActiveRecord::Base.allow_concurrency = true
+      elsif(Object.const_defined?(:RAILS_GEM_VERSION) &amp;&amp; RAILS_GEM_VERSION &lt; &quot;2.2.2&quot;)
+        ActiveRecord::Base.allow_concurrency = true
+      end
     end
 
     def check_for_ruby_version; RUBY_VERSION &gt;= &quot;1.8.5&quot;; end</diff>
      <filename>server/lib/master_proxy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -411,7 +411,11 @@ module BackgrounDRb
       db_config_file = YAML.load(ERB.new(IO.read(&quot;#{RAILS_HOME}/config/database.yml&quot;)).result)
       run_env = ENV[&quot;RAILS_ENV&quot;]
       ActiveRecord::Base.establish_connection(db_config_file[run_env])
-      ActiveRecord::Base.allow_concurrency = true
+      if(Object.const_defined?(:Rails) &amp;&amp; Rails.version &lt; &quot;2.2.2&quot;)
+        ActiveRecord::Base.allow_concurrency = true
+      elsif(Object.const_defined?(:RAILS_GEM_VERSION) &amp;&amp; RAILS_GEM_VERSION &lt; &quot;2.2.2&quot;)
+        ActiveRecord::Base.allow_concurrency = true
+      end
     end
 
   end # end of class MetaWorker</diff>
      <filename>server/lib/meta_worker.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,7 @@ context &quot;Worker Proxy in general&quot; do
   specify &quot;should let you invoke sync task  methods&quot; do
     actual_conn = mock()
     actual_conn.expects(:server_info).returns(&quot;localhost:11008&quot;)
-    actual_conn.expects(:send_request).returns(20)
+    actual_conn.expects(:send_request).returns({ :data =&gt; 20, :result_flag =&gt; &quot;ok&quot;,:result =&gt; true, :type =&gt; :response})
     @cluster_conn.expects(:choose_server).returns(actual_conn)
     a = @worker_proxy.hello_world(:args =&gt; &quot;sucks&quot;)
     a.should == 20</diff>
      <filename>test/client/test_worker_proxy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,6 +24,7 @@ context &quot;Master proxy for reloadable workers&quot; do
     @master_proxy.worker_triggers.should.not.be {}
     assert @master_proxy.worker_triggers.keys.include?(:bar_worker)
     assert @master_proxy.worker_triggers[:bar_worker].keys.include?(:do_job)
+
     @master_proxy.worker_triggers[:bar_worker][:do_job].should.not.be { }
   end
 </diff>
      <filename>test/server/test_master_proxy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__) + &quot;/..&quot;,&quot;bdrb_test_helper&quot;)
 
 
 context &quot;Master Worker in general should&quot; do
-  def dump_object data
+  def packet_dump data
     t = Marshal.dump(data)
     t.length.to_s.rjust(9,'0') + t
   end
@@ -13,6 +13,7 @@ context &quot;Master Worker in general should&quot; do
     class &lt;&lt; @master_worker
       attr_accessor :outgoing_data
       attr_accessor :key,:live_workers,:excpetion_type
+      attr_accessor :going_to_user
 
       def packet_classify(original_string)
         word_parts = original_string.split('_')
@@ -35,6 +36,10 @@ context &quot;Master Worker in general should&quot; do
         end
       end
 
+      def send_object data
+        @going_to_user = data
+      end
+
       def start_worker data
         @outgoing_data = data
       end
@@ -45,7 +50,9 @@ context &quot;Master Worker in general should&quot; do
     end
 
     class DummyLogger
-      def method_missing method_id,*args; &quot;boy&quot;; end
+      def method_missing method_id,*args;
+        puts *args
+      end
     end
     logger = DummyLogger.new
     @master_worker.debug_logger = logger
@@ -56,14 +63,14 @@ context &quot;Master Worker in general should&quot; do
       :type=&gt;:sync_invoke, :arg=&gt;&quot;boy&quot;, :worker=&gt;:foo_worker, :worker_method=&gt;&quot;barbar&quot;
     }
     @master_worker.expects(:method_invoke).with(sync_request).returns(nil)
-    @master_worker.receive_data(dump_object(sync_request))
+    @master_worker.receive_data(packet_dump(sync_request))
   end
 
   specify &quot;ignore errors while recreating object&quot; do
     sync_request = {
       :type=&gt;:sync_invoke, :arg=&gt;&quot;boy&quot;, :worker=&gt;:foo_worker, :worker_method=&gt;&quot;barbar&quot;
     }
-    foo = dump_object(sync_request)
+    foo = packet_dump(sync_request)
     foo[0] = 'h'
     @master_worker.expects(:method_invoke).never
     @master_worker.receive_data(foo)
@@ -73,21 +80,24 @@ context &quot;Master Worker in general should&quot; do
     b = {
       :type=&gt;:async_invoke, :arg=&gt;&quot;boy&quot;, :worker=&gt;:foo_worker, :worker_method=&gt;&quot;barbar&quot;
     }
-    @master_worker.receive_data(dump_object(b))
+
+    @master_worker.expects(:worker_methods).returns([&quot;barbar&quot;])
+    @master_worker.receive_data(packet_dump(b))
     @master_worker.outgoing_data.should == {:type=&gt;:request, :data=&gt;{:worker_method=&gt;&quot;barbar&quot;, :arg=&gt;&quot;boy&quot;}, :result=&gt;false}
+    @master_worker.going_to_user.should == { :result_flag =&gt; &quot;ok&quot; }
     @master_worker.key.should == :foo_worker
   end
 
   specify &quot;should route sync requests and return results&quot; do
     a = {:type=&gt;:sync_invoke, :arg=&gt;&quot;boy&quot;, :worker=&gt;:foo_worker, :worker_method=&gt;&quot;barbar&quot;}
-    @master_worker.receive_data(dump_object(a))
+    @master_worker.receive_data(packet_dump(a))
     @master_worker.outgoing_data.should == {:type=&gt;:request, :data=&gt;{:worker_method=&gt;&quot;barbar&quot;, :arg=&gt;&quot;boy&quot;}, :result=&gt;true}
     @master_worker.key.should == :foo_worker
   end
 
   specify &quot;should route start worker requests&quot; do
     d = {:worker_key=&gt;&quot;boy&quot;, :type=&gt;:start_worker, :worker=&gt;:foo_worker}
-    @master_worker.receive_data(dump_object(d))
+    @master_worker.receive_data(packet_dump(d))
     @master_worker.outgoing_data.should == {:type=&gt;:start_worker, :worker_key=&gt;&quot;boy&quot;, :worker=&gt;:foo_worker}
   end
 
@@ -95,7 +105,7 @@ context &quot;Master Worker in general should&quot; do
   specify &quot;should run delete worker requests itself&quot; do
     e = {:worker_key=&gt;&quot;boy&quot;, :type=&gt;:delete_worker, :worker=&gt;:foo_worker}
     @master_worker.expects(:delete_drb_worker).returns(nil)
-    @master_worker.receive_data(dump_object(e))
+    @master_worker.receive_data(packet_dump(e))
   end
 
   specify &quot;should route worker info requests&quot; do
@@ -106,7 +116,7 @@ context &quot;Master Worker in general should&quot; do
     t_reactor.expects(:live_workers).returns(live_workers)
     @master_worker.expects(:send_object).with({:worker_key=&gt;&quot;boy&quot;, :worker=&gt;:foo_worker, :status=&gt;:stopped}).returns(true)
     @master_worker.expects(:reactor).returns(t_reactor)
-    @master_worker.receive_data(dump_object(g))
+    @master_worker.receive_data(packet_dump(g))
   end
 
   specify &quot;should route all_worker_info requests&quot; do
@@ -118,12 +128,12 @@ context &quot;Master Worker in general should&quot; do
     @master_worker.expects(:send_object).returns(true)
     @master_worker.expects(:reactor).returns(t_reactor)
 
-    @master_worker.receive_data(dump_object(f))
+    @master_worker.receive_data(packet_dump(f))
   end
 
   specify &quot;should route worker result requests&quot; do
     c = {:type=&gt;:get_result, :worker=&gt;:foo_worker, :job_key=&gt;:start_message}
-    @master_worker.receive_data(dump_object(c))
+    @master_worker.receive_data(packet_dump(c))
     @master_worker.outgoing_data.should == {:type=&gt;:get_result, :data=&gt;{:job_key=&gt;:start_message}, :result=&gt;true}
   end
 
@@ -135,13 +145,13 @@ context &quot;Master Worker in general should&quot; do
     live_workers.expects(:delete).returns(true)
     t_reactor.expects(:live_workers).returns(live_workers)
     @master_worker.expects(:reactor).returns(t_reactor)
-    @master_worker.receive_data(dump_object(c))
+    @master_worker.receive_data(packet_dump(c))
   end
 
   specify &quot;should ignore generic exceptions while fetching results&quot; do
     c = {:type=&gt;:get_result, :worker=&gt;:foo_worker, :job_key=&gt;:start_message}
     @master_worker.ask_for_exception(:generic)
-    @master_worker.receive_data(dump_object(c))
+    @master_worker.receive_data(packet_dump(c))
     @master_worker.outgoing_data.should == nil
   end
 end</diff>
      <filename>test/server/test_master_worker.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,11 +3,12 @@ require &quot;meta_worker&quot;
 require &quot;chronic&quot;
 
 context &quot;A Meta Worker should&quot; do
-  def dump_object data
-    t = Marshal.dump(data)
-    t.length.to_s.rjust(9,'0') + t
+  module Kernel
+    def packet_dump data
+      t = Marshal.dump(data)
+      t.length.to_s.rjust(9,'0') + t
+    end
   end
-
   setup do
     options = {:schedules =&gt;
       {
@@ -64,7 +65,7 @@ context &quot;A Meta Worker should&quot; do
   specify &quot;should invoke async tasks without sending results&quot; do
     a = {:data=&gt;{:worker_method=&gt;&quot;who&quot;, :arg=&gt;&quot;rails&quot;,:job_key =&gt; &quot;lol&quot;}, :type=&gt;:request, :result=&gt;false, :client_signature=&gt;9}
     @meta_worker.expects(:who).with(&quot;rails&quot;).returns(nil)
-    @meta_worker.receive_internal_data(dump_object(a))
+    @meta_worker.receive_internal_data(packet_dump(a))
     Thread.current[:job_key].should == &quot;lol&quot;
   end
 
@@ -75,8 +76,8 @@ context &quot;A Meta Worker should&quot; do
       end
     end
     b = {:data=&gt;{:worker_method=&gt;&quot;baz&quot;, :arg=&gt;&quot;rails&quot;}, :type=&gt;:request, :result=&gt;true, :client_signature=&gt;9}
-    @meta_worker.expects(:send_data).with({:data=&gt;&quot;hello : rails&quot;, :type=&gt;:response, :result=&gt;true, :client_signature=&gt;9}).returns(&quot;hello : rails&quot;)
-    @meta_worker.receive_internal_data(dump_object(b))
+    @meta_worker.expects(:send_data).with({:data=&gt;&quot;hello : rails&quot;, :type=&gt;:response, :result=&gt;true, :client_signature=&gt;9, :result_flag =&gt; &quot;ok&quot;}).returns(&quot;hello : rails&quot;)
+    @meta_worker.receive_internal_data(packet_dump(b))
     Thread.current[:job_key].should == nil
   end
 
@@ -90,7 +91,7 @@ context &quot;A Meta Worker should&quot; do
     b = {:data=&gt; {:worker_method=&gt;&quot;baz&quot;, :arg =&gt; { :name =&gt; &quot;bdrb&quot;,:age =&gt; 10} }, :type=&gt;:request, :result=&gt;true, :client_signature=&gt;9 }
     # @meta_worker.expects(:send_data).with({:data=&gt;&quot;hello : rails&quot;, :type=&gt;:response, :result=&gt;true, :client_signature=&gt;9}).returns(&quot;hello : rails&quot;)
     @meta_worker.expects(:baz).with({ :name =&gt; &quot;bdrb&quot;,:age =&gt; 10}).returns(&quot;foo&quot;)
-    @meta_worker.receive_internal_data(dump_object(b))
+    @meta_worker.receive_internal_data(packet_dump(b))
     @meta_worker.outgoing_data[:data].should == &quot;foo&quot;
     Thread.current[:job_key].should == nil
   end
@@ -104,7 +105,7 @@ context &quot;A Meta Worker should&quot; do
     end
     @meta_worker.cache[:start_message] = &quot;helloworld&quot;
     c = {:data=&gt;{:job_key=&gt;:start_message}, :type=&gt;:get_result, :result=&gt;true, :client_signature=&gt;9}
-    @meta_worker.receive_internal_data(dump_object(c))
+    @meta_worker.receive_internal_data(packet_dump(c))
     @meta_worker.t_result[:data].should == &quot;helloworld&quot;
   end
 
@@ -114,15 +115,14 @@ context &quot;A Meta Worker should&quot; do
         proc { &quot;boy&quot;}
       end
       def send_data input
-        dump_object(input)
+        packet_dump(input)
       end
     end
     b = {:data=&gt;{:worker_method=&gt;&quot;baz&quot;, :arg=&gt;&quot;rails&quot;}, :type=&gt;:request, :result=&gt;true, :client_signature=&gt;9}
-    a = @meta_worker.receive_internal_data(dump_object(b))
-    a.should == nil
+    a = @meta_worker.receive_internal_data(packet_dump(b))
+    p a
     Thread.current[:job_key].should == nil
   end
-
 end
 
 context &quot;For unix schedulers&quot; do
@@ -260,7 +260,7 @@ context &quot;For enqueued tasks&quot; do
   specify &quot;should run enqueued tasks with arguments if they are there in the queue&quot; do
     @meta_worker = QueueWorker.start_worker
     mocked_task = mock()
-    mocked_task.expects(:worker_method).returns(:barbar).times(3)
+    mocked_task.expects(:worker_method).returns(:barbar).times(2)
     mocked_task.expects(:args).returns(Marshal.dump(&quot;hello&quot;))
     mocked_task.expects(:[]).returns(1).times(2)
     @meta_worker.expects(:barbar).with(&quot;hello&quot;).returns(true)
@@ -272,7 +272,7 @@ context &quot;For enqueued tasks&quot; do
     @meta_worker = QueueWorker.start_worker
     mocked_task = mock()
     mocked_task.expects(:[]).returns(1).times(2)
-    mocked_task.expects(:worker_method).returns(:barbar).times(3)
+    mocked_task.expects(:worker_method).returns(:barbar).times(2)
     mocked_task.expects(:args).returns(nil)
     @meta_worker.expects(:barbar)
     BdrbJobQueue.expects(:find_next).with(&quot;queue_worker&quot;).returns(mocked_task)</diff>
      <filename>test/server/test_meta_worker.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0922ade530709e7c6cc10f4c13f8c688e26c79c0</id>
    </parent>
  </parents>
  <author>
    <name>gnufied</name>
    <email>gethemant@gmail.com</email>
  </author>
  <url>http://github.com/gnufied/backgroundrb/commit/226683600770ab163cf2dd248e254eb880b4c099</url>
  <id>226683600770ab163cf2dd248e254eb880b4c099</id>
  <committed-date>2009-03-29T02:12:31-07:00</committed-date>
  <authored-date>2009-03-29T02:12:31-07:00</authored-date>
  <message>fix all the failing test cases and update for rails 2.3</message>
  <tree>fd1fc7243c8658ae34fff78320f3daf9de8465ea</tree>
  <committer>
    <name>gnufied</name>
    <email>gethemant@gmail.com</email>
  </committer>
</commit>
