Sha256: b825a9f1f44370896e141134a53d1fcb82cba48ad27ab23830deeb2ed18ca3f4

Contents?: true

Size: 1.17 KB

Versions: 5

Compression:

Stored size: 1.17 KB

Contents

#
# Specifying rufus-scheduler
#
# Tue May  5 14:47:16 JST 2009
#

require 'spec_base'


describe Rufus::Scheduler::Schedulable do

  before(:each) do
    @s = start_scheduler
  end
  after(:each) do
    stop_scheduler(@s)
  end

  class JobAlpha
    attr_reader :value
    def trigger(params)
      @value = params
    end
  end
  class JobBravo
    attr_reader :value
    def call(job)
      @value = job
    end
  end

  it 'schedules via :schedulable' do

    j = JobAlpha.new

    @s.in '1s', :schedulable => j

    sleep 1.4

    j.value.class.should == Hash
    j.value[:job].class.should == Rufus::Scheduler::InJob
  end

  it 'honours schedulables that reply to :call' do

    j = JobBravo.new

    @s.in '1s', :schedulable => j

    sleep 1.4

    j.value.class.should == Rufus::Scheduler::InJob
  end

  it 'accepts trigger schedulables as second param' do

    j = JobAlpha.new

    @s.in '1s', j

    sleep 1.4

    j.value.class.should == Hash
    j.value[:job].class.should == Rufus::Scheduler::InJob
  end

  it 'accepts call schedulables as second param' do

    j = JobBravo.new

    @s.in '1s', j

    sleep 1.4

    j.value.class.should == Rufus::Scheduler::InJob
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rufus-scheduler-2.0.16 spec/schedulable_spec.rb
rufus-scheduler-2.0.15 spec/schedulable_spec.rb
rufus-scheduler-2.0.14 spec/schedulable_spec.rb
rufus-scheduler-2.0.13 spec/schedulable_spec.rb
rufus-scheduler-2.0.12 spec/schedulable_spec.rb