module AnythingGorepo
Constants
- VERSION
Public Class Methods
find(paths)
click to toggle source
# File lib/anything-gorepo.rb, line 4 def self.find paths # key: package name # value: package full path pkgs = {} paths.each do |path| packages(path).map do |pkg| pkgs[pkg.gsub(path + '/', '')] = pkg end end pkgs[_anything_(pkgs.keys)] end
packages(src, stack = [])
click to toggle source
# File lib/anything-gorepo.rb, line 18 def self.packages(src, stack = []) directories(src).reduce([]) do |pkgs, p| pkgs << File.join(src, p) if directories(File.join(src, p)).empty? pkgs else pkgs + packages(File.join(src, p)) end end end
Private Class Methods
directories(path)
click to toggle source
# File lib/anything-gorepo.rb, line 32 def self.directories path return [] if Dir.glob(File.join(path, "**/*.go")).empty? Dir.entries(path).select do |filename| File.directory?(File.join(path, filename)) end.select do |filename| !filename.start_with?('.') end end