Sha256: a67eee313fbbb0eba82b07f20cff5daf9a815a31e3442f2bc20c863cc3387845

Contents?: true

Size: 841 Bytes

Versions: 1

Compression:

Stored size: 841 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

1 entries across 1 versions & 1 rubygems

Version Path
clockwork-1.0.0 lib/clockwork/database_events/event.rb