class DockerClone

Public Class Methods

new(options = {}) click to toggle source
# File lib/docker_clone.rb, line 11
def initialize(options = {})
  raise ArgumentError.new("No Config File Path Given.") if !options[:config_file_path]
  @config_file_path = full_path(options[:config_file_path])
  @working_dir = options[:working_dir] || DEFAULT_WORKING_DIR
  get_config
end

Public Instance Methods

clone_repos() click to toggle source
# File lib/docker_clone.rb, line 18
def clone_repos
  Dir.chdir(@working_dir) do
    @docker_clone_config["repos"].each do |repo|
      clone_repo(repo)
    end
  end
end

Private Instance Methods

clone_repo(repo) click to toggle source
# File lib/docker_clone.rb, line 53
def clone_repo(repo)
  url, name = repo["url"], repo["name"]
  raise ArgumentError.new("No URL or name given for your repo. #{url} #{name}") if !url || !name
  `git clone #{url} #{name}`
end
full_path(pathname) click to toggle source
# File lib/docker_clone.rb, line 28
def full_path(pathname)
  path = Pathname.new(pathname)
  path.expand_path
end
get_config() click to toggle source
# File lib/docker_clone.rb, line 47
def get_config
  @docker_clone_config ||= read_docker_file
rescue
  print_docker_clone_error_and_exit
end
print_docker_clone_error(path) click to toggle source
print_docker_clone_error_and_exit() click to toggle source
read_docker_file() click to toggle source
# File lib/docker_clone.rb, line 33
def read_docker_file
  file = File.read(@config_file_path)
  YAML.load(file)
end