Sha256: a7c33212362527a0a5b66b26761ef8f53e65383027c4f9172573d10413dbd8ac
Contents?: true
Size: 621 Bytes
Versions: 3
Compression:
Stored size: 621 Bytes
Contents
module Aggro # Public: Locates the nodes responsible for a given entity ID. class Locator def initialize(id) @id = id end def local? primary_node.is_a? LocalNode end def nodes current_node_list_state = Aggro.node_list.state if @last_node_list_state == current_node_list_state @nodes ||= Aggro.node_list.nodes_for(@id) else @last_node_list_state = current_node_list_state @nodes = Aggro.node_list.nodes_for(@id) end end def primary_node nodes.first end def secondary_nodes nodes[1..-1] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aggro-0.0.4 | lib/aggro/locator.rb |
aggro-0.0.3 | lib/aggro/locator.rb |
aggro-0.0.2 | lib/aggro/locator.rb |