module CuttingEdgeHelpers
Public Instance Methods
load_repositories(path)
click to toggle source
# File lib/cutting_edge/app.rb, line 26 def load_repositories(path) repositories = {} begin YAML.load(File.read(path)).each do |source, orgs| orgs.each do |org, value| value.each do |name, settings| cfg = settings.is_a?(Hash) ? settings : {} repo = Object.const_get("CuttingEdge::#{source.capitalize}Repository").new(org: org, name: name, lang: cfg.fetch('language', nil), locations: cfg.fetch('locations', nil), branch: cfg.fetch('branch', nil), email: cfg.fetch('email', CuttingEdge::MAIL_TO), auth_token: cfg.fetch('auth_token', nil), hide: cfg.fetch('hide', false)) repo.dependency_types = cfg['dependency_types'].map {|dep| dep.to_sym} if cfg['dependency_types'].is_a?(Array) repositories["#{source}/#{org}/#{name}"] = repo end end end rescue SyntaxError, Errno::ENOENT => e puts "Error: #{path} does not contain a valid YAML project definition." if ENV['RACK_ENV'] == 'test' return nil else exit 1 end end repositories end
worker_fetch(repo)
click to toggle source
# File lib/cutting_edge/app.rb, line 22 def worker_fetch(repo) DependencyWorker.perform_async(repo.identifier, repo.lang, repo.locations, repo.dependency_types, repo.contact_email, repo.auth_token) end
worker_fetch_all(repositories)
click to toggle source
# File lib/cutting_edge/app.rb, line 16 def worker_fetch_all(repositories) repositories.each do |repo| worker_fetch(repo) end end