Class: SequenceNumberTracker

Inherits:
Object
  • Object
show all
Defined in:
lib/stream_reader/sequence_number_tracker.rb

Instance Method Summary collapse

Constructor Details

#initialize(key_prefix:, redis_url: ENV['REDIS_URL'], key: 'kinesis-last-seq') ⇒ SequenceNumberTracker

Returns a new instance of SequenceNumberTracker.



4
5
6
7
8
# File 'lib/stream_reader/sequence_number_tracker.rb', line 4

def initialize(key_prefix:, redis_url: ENV['REDIS_URL'], key: 'kinesis-last-seq')
  uri    = URI.parse(redis_url || 'redis://localhost:6379')
  @redis = Redis.new(url: uri)
  @key   = "#{key_prefix}-#{key}"
end

Instance Method Details

#last_sequence_numberObject



10
11
12
# File 'lib/stream_reader/sequence_number_tracker.rb', line 10

def last_sequence_number
  @redis.get(@key)
end

#last_sequence_number=(value) ⇒ Object



14
15
16
# File 'lib/stream_reader/sequence_number_tracker.rb', line 14

def last_sequence_number=(value)
  @redis.set(@key, value)
end