Sha256: 9610024f2e6d7a21b312f822dff71bada1eeafc6d0d92279a0182ca51ace7dcf

Contents?: true

Size: 583 Bytes

Versions: 11

Compression:

Stored size: 583 Bytes

Contents

module Owners
  # Traverses up the directory tree starting at a specified
  # file and returns an array of all OWNERS files.
  #
  # @api private
  class Tree
    def initialize(file)
      @file = file
    end

    def owner_files
      parents.each_with_object([]) do |parent, files|
        config = parent.join(Owners.file)
        files << config if config.file?
      end
    end

    private

    def parents
      parents = []
      file = @file

      until file == file.dirname
        file = file.dirname
        parents << file
      end

      parents
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
owners-0.1.1 lib/owners/tree.rb
owners-0.1.0 lib/owners/tree.rb
owners-0.0.9 lib/owners/tree.rb
owners-0.0.8 lib/owners/tree.rb
owners-0.0.7 lib/owners/tree.rb
owners-0.0.6 lib/owners/tree.rb
owners-0.0.5 lib/owners/tree.rb
owners-0.0.4 lib/owners/tree.rb
owners-0.0.3 lib/owners/tree.rb
owners-0.0.2 lib/owners/tree.rb
owners-0.0.1 lib/owners/tree.rb