Sha256: 37b20016f3de910ecf4023b904c47b77fe2a5b340a511b7474fff17aee3f42ba

Contents?: true

Size: 840 Bytes

Versions: 4

Compression:

Stored size: 840 Bytes

Contents

module Clockwork

  module DatabaseEvents

    class Event < Clockwork::Event

      attr_accessor :sync_performer, :at

      def initialize(manager, period, job, block, sync_performer, options={})
        super(manager, period, job, block, options)
        @sync_performer = sync_performer
        @sync_performer.register(self, job)
      end

      def name
        (job.respond_to?(:name) && job.name) ? job.name : "#{job.class}:#{job.id}"
      end

      def to_s
        name
      end

      def name_or_frequency_has_changed?(model)
        name_has_changed?(model) || frequency_has_changed?(model)
      end

      private
      def name_has_changed?(model)
        job.respond_to?(:name) && job.name != model.name
      end

      def frequency_has_changed?(model)
        @period != model.frequency
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
clockwork-1.2.1 lib/clockwork/database_events/event.rb
clockwork-1.2.0 lib/clockwork/database_events/event.rb
clockwork-1.1.0 lib/clockwork/database_events/event.rb
clockwork-1.0.2 lib/clockwork/database_events/event.rb