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