Sha256: 2d1aa1c4da4ab327a0fc9f5ec9408368ff990261e0a4eed3b48bc6e2f771b110

Contents?: true

Size: 650 Bytes

Versions: 192

Compression:

Stored size: 650 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module EacConfig
  class LoadNodesSearch
    common_constructor :root_node do
      add_next_pending until pending.empty?
    end

    def result
      added
    end

    private

    def added
      @added ||= []
    end

    def add_next_pending
      current = pending.pop
      current.self_loaded_nodes.each do |loaded_node|
        next if added.include?(loaded_node)

        added << loaded_node
        pending.push(loaded_node)
      end
    end

    def pending
      @pending ||= begin
        r = Queue.new
        r.push(root_node)
        r
      end
    end
  end
end

Version data entries

192 entries across 192 versions & 4 rubygems

Version Path
eac_config-0.14.3 lib/eac_config/load_nodes_search.rb
eac_tools-0.97.2 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_config-0.14.2 lib/eac_config/load_nodes_search.rb
eac_tools-0.82.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.81.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.80.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.79.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_config-0.14.1 lib/eac_config/load_nodes_search.rb
eac_tools-0.78.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.77.1 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.77.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.76.1 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.76.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.75.2 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.75.1 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.75.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.74.1 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_tools-0.74.0 sub/eac_config/lib/eac_config/load_nodes_search.rb
eac_config-0.14.0 lib/eac_config/load_nodes_search.rb
eac_tools-0.73.0 sub/eac_config/lib/eac_config/load_nodes_search.rb