Sha256: cd5458579f7dbbf6ee2435be47d058179aa8a2fa950267d4907d2b0f1009b6ad

Contents?: true

Size: 641 Bytes

Versions: 6

Compression:

Stored size: 641 Bytes

Contents

# Name::      Sysadmin::Directory
# Forked from https://gist.github.com/3296137

module Sysadmin
  class Directory
    include Enumerable

    def initialize(dirname)
      @dirname = dirname
      @files = Dir.open(dirname) {|dir|
        dir.reject {|name| name == "." || name == ".." }
      }
    end

    def each(&block)
      if block_given?
        @files.each do |name|
          path = File.join(@dirname, name)
          if File.directory?(path)
            Directory.new(path).each(&block)
          else
            yield path
          end
        end
      else
        Enumerator.new(self, :each)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sysadmin-0.2.0 lib/sysadmin/directory.rb
sysadmin-0.1.5 lib/sysadmin/directory.rb
sysadmin-0.1.4 lib/sysadmin/directory.rb
sysadmin-0.1.3 lib/sysadmin/directory.rb
sysadmin-0.1.2 lib/sysadmin/directory.rb
sysadmin-0.1.1 lib/sysadmin/directory.rb