module Dogviz::Parent

Public Instance Methods

add(child) click to toggle source
# File lib/dogviz/parent.rb, line 33
def add(child)
  @children << child
  nominate child.name => child if auto_nominate?
  child
end
container(name, options={}) click to toggle source
# File lib/dogviz/parent.rb, line 21
def container(name, options={})
  add Container.new self, name, options
end
find(name=nil, &matcher) click to toggle source
# File lib/dogviz/parent.rb, line 8
def find(name=nil, &matcher)
  if block_given?
    @by_name.find(&matcher)
  else
    raise 'Need to provide name or block' if name.nil?
    @by_name.lookup name
  end
end
find_all(&matcher) click to toggle source
# File lib/dogviz/parent.rb, line 3
def find_all(&matcher)
  raise MissingMatchBlockError.new unless block_given?
  @by_name.find_all(&matcher)
end
group(name, options={}) click to toggle source
# File lib/dogviz/parent.rb, line 29
def group(name, options={})
  logical_container name, options
end
logical_container(name, options={}) click to toggle source
# File lib/dogviz/parent.rb, line 25
def logical_container(name, options={})
  add LogicalContainer.new self, name, options
end
root?() click to toggle source
# File lib/dogviz/parent.rb, line 39
def root?
  not respond_to?(:parent)
end
thing(name, options={}) click to toggle source
# File lib/dogviz/parent.rb, line 17
def thing(name, options={})
  add Thing.new self, name, options
end