<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/runners/thread_runner.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,6 @@
+Version 0.4.3, 27.11.08
+NOT DONE - fixed raise exceptions if non existing worker methods are called
+
 Version 0.4.2, 10.11.08
 - added information about invokers and clients to the readme
 - fixed dependence on amqp library</diff>
      <filename>CHANGES.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,26 @@
 # Todos for 0.5.0
 
+* add a linting runner for tests. should check that no ar objects are being passed around
+* add a mechanism for requiring models, for those people who insist on passing models across the wire
 * add reloading of workers if Rails.reload?
+* write some code that knows if the client should be started, and gives out a warning
+* add a configuration option for SERVER/CLIENT
+* add phusion daemon starter option so that workling_client doesn't need to be started manually on SERVER
+* write some more documentation on the above issues and on standard remote setup. 
+* create a public forum, rdoc site
+* try to reduce user error in setting environments correctly
+* add beanstalkd runner
 * refactor starling* to be memcache*. add aliased classes into deprecated.rb.
+* look into create method. is this being called more often than intended?
+* add some monit and god scripts as starters
+* try to catch more user setup errors which lead to worker code not being called
+
+# Todos for 1.0
+
 * gemify
 * move all runner/invoker implementations out of workling
 * move backend discovery code out of workling
 * decide on a single backend to include in workling
-
-# Todos for 1.0
-
-* add phusion daemon starter option so that workling_client doesn't need to be started manually. 
 * merb support
 * test on jruby
-* more runners: sqs, beanstalkd
-* add a linting runner for tests. should check that no ar objects are being passed around
-* there are FIXMEs in the code. 
\ No newline at end of file
+* more runners: sqs
\ No newline at end of file</diff>
      <filename>TODO.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -34,6 +34,7 @@ module Workling
     def self.run(clazz, method, options = {})
       uid = Workling::Remote.generate_uid(clazz, method)
       options[:uid] = uid if options.kind_of?(Hash) &amp;&amp; !options[:uid]
+      Workling.find(clazz, method) # this line raises a WorklingError if the method does not exist. 
       dispatcher.run(clazz, method, options)
       uid
     end</diff>
      <filename>lib/workling/remote.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,7 @@ context &quot;the remote runner&quot; do
     Workling::Remote.dispatcher.class.should.equal Workling.default_runner.class
   end
   
-  specify &quot;should raise a Workling::WorklingNotFoundError if it is invoked with a worker key that canont be constantized&quot; do
+  specify &quot;should raise a Workling::WorklingNotFoundError if it is invoked with a worker key that cannot be constantized&quot; do
     should.raise Workling::WorklingNotFoundError do
       Workling::Remote.run(:quatsch_mit_sosse, :fiddle_di_liddle)
     end
@@ -28,7 +28,7 @@ context &quot;the remote runner&quot; do
   
   specify &quot;should raise a Workling::WorklingNotFoundError if it is invoked with a valid worker key but the method is not defined on that worker&quot; do
     dispatcher = Workling::Remote.dispatcher
-    Workling::Remote.dispatcher = Workling::Remote::Runners::NotRemoteRunner.new
+    Workling::Remote.dispatcher = Workling::Remote::Runners::ThreadRunner.new # simulates a remote runner (workling in another context)
     
     should.raise Workling::WorklingNotFoundError do
       Workling::Remote.run(:util, :sau_sack)</diff>
      <filename>test/remote_runner_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -37,6 +37,7 @@ require &quot;workling/return/store/memory_return_store&quot;
 require &quot;workling/return/store/starling_return_store&quot;
 require &quot;mocks/client&quot;
 require &quot;clients/memory_queue_client&quot;
+require &quot;runners/thread_runner&quot;
 
 # worklings are in here.
 Workling.load_path =&quot;#{ plugin_root }/test/workers&quot;</diff>
      <filename>test/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4b897384d248b53ad1874c67cd50e54e4d5d63fe</id>
    </parent>
  </parents>
  <author>
    <name>Rany Keddo</name>
    <email>rany@playtype.net</email>
  </author>
  <url>http://github.com/digitalhobbit/workling/commit/5bb5091e295217415cfafcee3d6a52fbd81e0c22</url>
  <id>5bb5091e295217415cfafcee3d6a52fbd81e0c22</id>
  <committed-date>2008-11-28T04:20:55-08:00</committed-date>
  <authored-date>2008-11-28T04:20:55-08:00</authored-date>
  <message>fixed WorklingNotFoundError behaviour. now raises with remote runners, too.</message>
  <tree>f6873eb435898101c3e1448be27c2a3b95ff47d4</tree>
  <committer>
    <name>Rany Keddo</name>
    <email>rany@playtype.net</email>
  </committer>
</commit>
