class Bcome::Node::Collection

Public Instance Methods

collection?() click to toggle source
# File lib/objects/node/collection.rb, line 48
def collection?
  true
end
filter_duplicates(original_set) click to toggle source
# File lib/objects/node/collection.rb, line 17
def filter_duplicates(original_set)
  instance_lookup = []
  filtered_set = []
  original_set.each do |server|
    unless instance_lookup.include?(server.origin_object_id)
      filtered_set << server
      instance_lookup << server.origin_object_id
    end
  end
  filtered_set
end
inventories() click to toggle source
# File lib/objects/node/collection.rb, line 5
def inventories
  inv = []
  @resources.active.each do |r|
    inv << if r.inventory?
             r
           else
             r.inventories
           end
  end
  inv.flatten
end
machines(skip_for_hidden = true) click to toggle source
# File lib/objects/node/collection.rb, line 29
def machines(skip_for_hidden = true)
  set = []

  resources = skip_for_hidden ? @resources.active.reject(&:hide?) : @resources.active

  resources.each do |resource|
    if resource.inventory?
      resource.load_nodes unless resource.nodes_loaded?
      set << resource.resources.active
    else
      set << resource.machines(skip_for_hidden)
    end
  end

  set.flatten!
  filtered_machines = filter_duplicates(set)
  filtered_machines
end