Sha256: 52c6c768c4d07f6823606b6c856539dc10650d8dd62a3b0d2037a9796de82564

Contents?: true

Size: 552 Bytes

Versions: 31

Compression:

Stored size: 552 Bytes

Contents

# frozen_string_literal: true

module ShopifyCLI
  class ThreadPool
    class Job
      attr_reader :error, :interval

      def initialize(interval = 0)
        @interval = interval
      end

      def perform!
        raise "`#{self.class.name}#perform!' must be defined"
      end

      def call
        perform!
      rescue StandardError => error
        @error = error
      end

      def success?
        !@error
      end

      def error?
        !!@error
      end

      def recurring?
        !interval.zero?
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
shopify-cli-2.19.0 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.18.1 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.18.0 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.17.0 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.16.1 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.16.0 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.15.6 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.15.5 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.15.4 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.15.3 lib/shopify_cli/thread_pool/job.rb
shopify-cli-2.15.2 lib/shopify_cli/thread_pool/job.rb