lib/alephant/sequencer/sequencer.rb in alephant-sequencer-0.0.6 vs lib/alephant/sequencer/sequencer.rb in alephant-sequencer-0.0.7
- old
+ new
@@ -16,22 +16,22 @@
@jsonpath = sequence_path
@ident = id
end
def sequential?(msg)
- (get_last_seen || 0) < sequence_id_from(msg)
+ (get_last_seen || 0) < Sequencer.sequence_id_from(msg, jsonpath)
end
def exists?
@exists || @sequence_table.sequence_exists(ident)
end
def sequence(msg, &block)
block.call(msg)
last_seen_id = get_last_seen
- if (last_seen_id || 0) < sequence_id_from(msg)
+ if (last_seen_id || 0) < Sequencer.sequence_id_from(msg, jsonpath)
set_last_seen(msg, last_seen_id)
else
logger.info("Sequencer#sequence nonsequential message for #{ident}")
end
end
@@ -41,11 +41,11 @@
@exists = false
@sequence_table.delete_item!(ident)
end
def set_last_seen(msg, last_seen_check = nil)
- seen_id = sequence_id_from(msg)
+ seen_id = Sequencer.sequence_id_from(msg, jsonpath)
@sequence_table.set_sequence_for(
ident, seen_id,
(exists? ? last_seen_check : nil)
)
@@ -53,11 +53,11 @@
def get_last_seen
@sequence_table.sequence_for(ident)
end
- def sequence_id_from(msg)
- JsonPath.on(msg.body, jsonpath).first.to_i
+ def self.sequence_id_from(msg, path)
+ JsonPath.on(msg.body, path).first.to_i
end
end
end
end