lib/oxidized/nodes.rb
def update_nodes(nodes)
      old = dup
      replace(nodes)
      each do |node|
        begin
          if (i = old.find_node_index(node.name))
            node.stats = old[i].stats
            node.last  = old[i].last
          end
        rescue Oxidized::NodeNotFound # rubocop:disable Lint/HandleExceptions
        end
      end
      sort_by! { |x| x.last.nil? ? Time.new(0) : x.last.end }
    end
def update_nodes(nodes)
      old = dup
      replace(nodes)
      each do |node|
        begin
          if (i = old.find_node_index(node.name))
            node.stats = old[i].stats
            node.last  = old[i].last
          end
        rescue Oxidized::NodeNotFound # rubocop:disable Lint/HandleExceptions
        end
      end
      sort_by! { |x| x.last.nil? ? Time.new(0) : x.last.end }
    end
def update_nodes ( nodes ) old = dup replace ( nodes ) each do | node | begin if ( i = old . find_node_index ( node . name ) ) node . stats = old [ i ] . stats node . last = old [ i ] . last end rescue Oxidized :: NodeNotFound # rubocop:disable Lint/HandleExceptions end end sort_by! { | x | x . last . nil? ? Time . new ( 0 ) : x . last . end } end
walks list of new nodes, if old node contains same name, adds last and
 stats information from old to new.

 @todo can we trust name to be unique identifier, what about when groups are used?
 @param [Array] nodes Array of nodes used to replace+update old
walks list of new nodes if old node contains same name adds last and stats information from old to new .