class Abstractivator::Trees::BlockCollector

Public Class Methods

new() click to toggle source
# File lib/abstractivator/trees/block_collector.rb, line 5
def initialize
  @config = {}
end

Public Instance Methods

delete() click to toggle source
# File lib/abstractivator/trees/block_collector.rb, line 21
def delete
  @delete ||= Object.new
end
get_path_tree() click to toggle source
# File lib/abstractivator/trees/block_collector.rb, line 13
def get_path_tree
  path_tree = {}
  @config.each_pair do |path, block|
    set_hash_path(path_tree, path.split('/'), block)
  end
  path_tree
end
when(path, &block) click to toggle source
# File lib/abstractivator/trees/block_collector.rb, line 9
def when(path, &block)
  @config[path] = block
end

Private Instance Methods

set_hash_path(h, names, block) click to toggle source
# File lib/abstractivator/trees/block_collector.rb, line 27
def set_hash_path(h, names, block)
  orig = h
  while names.size > 1
    h = (h[names.shift] ||= {})
  end
  h[names.shift] = block
  orig
end