<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,13 @@
 = rufus-scheduler CHANGELOG.txt
 
 
-== rufus-scheduler - 2.0.2    not yet released
+== rufus-scheduler - 2.0.3    not yet released
+
+- made sure Schedulables with a call(job) method were OK when passed as second
+  parameter (thanks Nate Wiger)
+
+
+== rufus-scheduler - 2.0.2    released 2009/10/31
 
 - unified JobQueue and CronJobQueue, and handed @last_second management to the
   latter</diff>
      <filename>CHANGELOG.txt</filename>
    </modified>
    <modified>
      <diff>@@ -10,6 +10,7 @@
 
 == Feedback
 
+- Nate Wiger (Schedulable call/trigger issue)
 - Aldric (readme errors)
 - Kenneth Kalmer (daemon-kit)
 - Chris Evans, :timeout tests on JRuby</diff>
      <filename>CREDITS.txt</filename>
    </modified>
    <modified>
      <diff>@@ -179,6 +179,16 @@ Sometimes passing a block isn't that convenient :
 
 rufus-scheduler accepts anything that responds to a call method with a unique parameter (it will pass the job) as a 'schedulable'.
 
+For compatibility with older (1.x) versions, schedulables with a trigger methods are accepted :
+
+  class JobThing
+    def trigger (params)
+      job = params[:job]
+    end
+  end
+
+The 'params' correspond to the scheduler job params, and the key :job points to the rufus-scheduler job for the schedulable that is passed to a 'call schedulable'.
+
 
 == looking up jobs
 </diff>
      <filename>README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -265,7 +265,7 @@ module Rufus::Scheduler
 
     def combine_opts (schedulable, opts)
 
-      if schedulable.respond_to?(:trigger)
+      if schedulable.respond_to?(:trigger) || schedulable.respond_to?(:call)
 
         opts[:schedulable] = schedulable
 </diff>
      <filename>lib/rufus/sc/scheduler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,7 +36,7 @@ describe Rufus::Scheduler::Schedulable do
 
     @s.in '1s', :schedulable =&gt; j
 
-    sleep 1.5
+    sleep 1.4
 
     j.value.class.should.equal(Hash)
     j.value[:job].class.should.equal(Rufus::Scheduler::InJob)
@@ -48,10 +48,32 @@ describe Rufus::Scheduler::Schedulable do
 
     @s.in '1s', :schedulable =&gt; j
 
-    sleep 1.5
+    sleep 1.4
 
     j.value.class.should.equal(Rufus::Scheduler::InJob)
   end
 
+  it 'should accept trigger schedulables as second param' do
+
+    j = JobAlpha.new
+
+    @s.in '1s', j
+
+    sleep 1.4
+
+    j.value.class.should.equal(Hash)
+    j.value[:job].class.should.equal(Rufus::Scheduler::InJob)
+  end
+
+  it 'should accept call schedulables as second param' do
+
+    j = JobBravo.new
+
+    @s.in '1s', j
+
+    sleep 1.4
+
+    j.value.class.should.equal(Rufus::Scheduler::InJob)
+  end
 end
 </diff>
      <filename>spec/schedulable_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cff3bb58abbc80f76adbe2120e6002c2e7eea766</id>
    </parent>
  </parents>
  <author>
    <name>John Mettraux</name>
    <email>jmettraux@gmail.com</email>
  </author>
  <url>http://github.com/jmettraux/rufus-scheduler/commit/6a8c1eded989c6436d1e87e93c00ef23cca705b0</url>
  <id>6a8c1eded989c6436d1e87e93c00ef23cca705b0</id>
  <committed-date>2009-11-03T16:57:20-08:00</committed-date>
  <authored-date>2009-11-03T16:57:20-08:00</authored-date>
  <message>made sure Schedulables with a call(job) method were OK when passed as second parameter (thanks Nate Wiger). Closes gh-2</message>
  <tree>f367d999df653427cfd3259b734dd88a58065c63</tree>
  <committer>
    <name>John Mettraux</name>
    <email>jmettraux@gmail.com</email>
  </committer>
</commit>
