Sha256: 23597c7f9b068c50dc9aa8a29dec3905d28f9d8f7eadb458bc454898dce0e6e1
Contents?: true
Size: 753 Bytes
Versions: 2
Compression:
Stored size: 753 Bytes
Contents
class Chef module ChefFS class Parallelizer class FlattenEnumerable include Enumerable def initialize(enum, levels = nil) @enum = enum @levels = levels end attr_reader :enum attr_reader :levels def each(&block) enum.each do |value| flatten(value, levels, &block) end end private def flatten(value, levels, &block) if levels != 0 && value.respond_to?(:each) && !value.is_a?(String) value.each do |child| flatten(child, levels.nil? ? levels : levels - 1, &block) end else block.call(value) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chef-12.7.2 | lib/chef/chef_fs/parallelizer/flatten_enumerable.rb |
chef-12.7.2-universal-mingw32 | lib/chef/chef_fs/parallelizer/flatten_enumerable.rb |