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