Sha256: c340055d7a4989351d8db060484109f3628a11c7ef41c3c0f72902054f24cac6

Contents?: true

Size: 519 Bytes

Versions: 1

Compression:

Stored size: 519 Bytes

Contents

# Generates a unique identifier for a particular job identified by class_name/method
module BackgroundWorker
  class Uid
    attr_reader :class_name

    def initialize(class_name)
      @class_name = class_name
    end

    def generate
      "#{generate_uid_name}:#{generate_uid_hash}"
    end

    private

    def generate_uid_hash
      ::Digest::MD5.hexdigest("#{class_name}:#{rand(1 << 64)}:#{Time.now}")
    end

    def generate_uid_name
      "#{class_name.underscore}".split('/').join(':')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
background_worker-0.8.1 lib/background_worker/uid.rb