Sha256: 8791f255aff18d194d085bde1275a9e906a4a71e5794a673f08c52a4e4b52d1e
Contents?: true
Size: 717 Bytes
Versions: 8
Compression:
Stored size: 717 Bytes
Contents
class Fanforce::CLI::Plugins @@dirs = nil def self.dir_names @@dirs ||= Dir.chdir(Fanforce::CLI::DIR) do Dir['*/'].inject([]) do |dirs, d| d = d.gsub('/', '') (d =~ /^([a-z0-9-]+)\/?$/) ? dirs << d : dirs end end end def self.dirs dir_names.inject([]) do |result, d| result << "#{Fanforce::CLI::DIR}/#{d}" end end def self.each(&block) processed_count = 0 total_count = dir_names.size dir_names.each do |d| processed_count += 1 plugin = Fanforce::CLI::Plugin.load("#{Fanforce::CLI::DIR}/#{d}") Dir.chdir(plugin.dir) { block.call(plugin, processed_count, total_count) } end end def self.total_count dir_names.size end end
Version data entries
8 entries across 8 versions & 1 rubygems