Sha256: 603793d4afe1d9fc11a2fc649b9a296a5c7e1e08e4443851aeede2f8e3076aac

Contents?: true

Size: 765 Bytes

Versions: 8

Compression:

Stored size: 765 Bytes

Contents

module Writefully
  module Workers
    class Journalist < BaseWorker
      def publish
        Writefully.logger.info "Publishing #{message[:resource]} #{message[:slug]}"
        pencil = Tools::Pencil.new_link(message)
        pencil.perform
      end

      def remove
        eraser = Tools::Eraser.new_link(message)
        unless eraser.directory_exists?
          Writefully.logger.info "Removing #{message[:resource]} #{message[:slug]}"
          eraser.perform
        else
          eraser.terminate
        end
      end

      def message_with_tries
        message.merge({ tries: (message[:tries] || 1) + 1, run: false })
      end

      def on_death actor, reason
        Writefully.add_job :journalists, message_with_tries
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
writefully-0.6.10 lib/writefully/workers/journalist.rb
writefully-0.6.9 lib/writefully/workers/journalist.rb
writefully-0.6.7 lib/writefully/workers/journalist.rb
writefully-0.6.6 lib/writefully/workers/journalist.rb
writefully-0.6.5 lib/writefully/workers/journalist.rb
writefully-0.6.4 lib/writefully/workers/journalist.rb
writefully-0.6.3 lib/writefully/workers/journalist.rb
writefully-0.6.2 lib/writefully/workers/journalist.rb