lib/announcer/subscription.rb
##
# Generates a unique identifier for this subscription which will be used to
# "serialize" it.
#
# The goal here is to generate a identifier that is the same across different
# processes and servers and that ideally changes infrequently between
# application versions, but when it does change, it should do so predictably.
Generates a unique identifier for this subscription which will be used to
"serialize" it.

The goal here is to generate a identifier that is the same across different
processes and servers and that ideally changes infrequently between
application versions, but when it does change, it should do so predictably.
Generates a unique identifier for this subscription which will be used to " serialize " it . The goal here is to generate a identifier that is the same across different processes and servers and that ideally changes infrequently between application versions but when it does change it should do so predictably .
def _generate_identifier
      index = _path.rindex(/:\d+:/) - 1
      path = _path[0..index]
      raise Errors::SubscriptionError, "Invalid path: #{path}" unless File.exists?(path)
      Digest::MD5.hexdigest("#{path}:#{event_name}:#{name}").to_sym
    end
def _generate_identifier index = _path . rindex ( / : \d +: / ) - 1 path = _path [ 0 .. index ] raise Errors :: SubscriptionError , "Invalid path: #{path}" unless File . exists? ( path ) Digest :: MD5 . hexdigest ( "#{path}:#{event_name}:#{name}" ) . to_sym end
Generates a unique identifier for this subscription which will be used to
"serialize" it.
Generates a unique identifier for this subscription which will be used to " serialize " it .
# Cut off everything from the line number onward. That way, the identifier # does not change when the subscription block moves to a different line.