Sha256: c2a2494a2242b2a28b9d564cb5f609fa28c413189e91566a0423074647afde74

Contents?: true

Size: 992 Bytes

Versions: 11

Compression:

Stored size: 992 Bytes

Contents

require 'onceover/controlrepo'

class Onceover
  class Node
    @@all = []


    attr_accessor :name
    attr_accessor :beaker_node
    attr_accessor :fact_set

    def initialize(name)
      @name = name
      @beaker_node = nil

      # If we can't find the factset it will fail, so just catch that error and ignore it
      begin
        facts_file_index = Onceover::Controlrepo.facts_files.index {|facts_file|
          File.basename(facts_file, '.json') == name
        }
        @fact_set = Onceover::Controlrepo.facts[facts_file_index]
      rescue TypeError
        @fact_set = nil
      end
      @@all << self

    end

    def self.find(node_name)
      @@all.each do |node|
        if node_name.is_a?(Onceover::Node)
          if node = node_name
            return node
          end
        elsif node.name == node_name
          return node
        end
      end
      logger.warn "Node #{node_name} not found"
      nil
    end

    def self.all
      @@all
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
onceover-3.5.2 lib/onceover/node.rb
onceover-3.5.1 lib/onceover/node.rb
onceover-3.5.0 lib/onceover/node.rb
onceover-3.4.0 lib/onceover/node.rb
onceover-3.3.3 lib/onceover/node.rb
onceover-3.3.2 lib/onceover/node.rb
onceover-3.3.1 lib/onceover/node.rb
onceover-3.3.0 lib/onceover/node.rb
onceover-3.2.8 lib/onceover/node.rb
onceover-3.2.7 lib/onceover/node.rb
onceover-3.2.6 lib/onceover/node.rb