class AsciiBinder::DistroMap

Public Class Methods

new(distro_map_filepath) click to toggle source
# File lib/ascii_binder/distro_map.rb, line 7
def initialize(distro_map_filepath)
  @distro_yaml = YAML.load_file(distro_map_filepath)
  @distro_map  = {}
  @distro_yaml.each do |distro_key,distro_config|
    if @distro_map.has_key?(distro_key)
      Trollop::die "Error parsing '#{distro_map_filepath}': distro key '#{distro_key}' is used more than once."
    end
    distro = AsciiBinder::Distro.new(distro_map_filepath,distro_key,distro_config)
    @distro_map[distro_key] = distro
  end
end

Public Instance Methods

distro_branches(distro_key='') click to toggle source
# File lib/ascii_binder/distro_map.rb, line 38
def distro_branches(distro_key='')
  if distro_key == ''
    branch_list = []
    distros.each do |distro|
      branch_list.concat(distro.branch_ids)
    end
    return branch_list.uniq
  else
    return get_distro(distro_key).branch_ids
  end
end
distro_keys() click to toggle source
# File lib/ascii_binder/distro_map.rb, line 30
def distro_keys
  @distro_map.keys
end
distros() click to toggle source
# File lib/ascii_binder/distro_map.rb, line 34
def distros
  @distro_map.values
end
errors() click to toggle source
# File lib/ascii_binder/distro_map.rb, line 58
def errors
  errors = []
  @distro_map.values.each do |distro|
    next if distro.is_valid?
    errors << distro.errors
  end
  return errors
end
get_distro(distro_key) click to toggle source
# File lib/ascii_binder/distro_map.rb, line 19
def get_distro(distro_key)
  unless @distro_map.has_key?(distro_key)
    Trollop::die "Distro key '#{distro_key}' does not exist"
  end
  @distro_map[distro_key]
end
include_distro_key?(distro_key) click to toggle source
# File lib/ascii_binder/distro_map.rb, line 26
def include_distro_key?(distro_key)
  @distro_map.has_key?(distro_key)
end
is_valid?() click to toggle source
# File lib/ascii_binder/distro_map.rb, line 50
def is_valid?
  @distro_map.values.each do |distro|
    next if distro.is_valid?
    return false
  end
  return true
end