class Ro::Root

Public Class Methods

new(root) click to toggle source
Calls superclass method
# File lib/ro/root.rb, line 3
def initialize(root)
  super(Ro.realpath(root.to_s))
ensure
  raise ArgumentError.new("root=#{ root.inspect }") if root.nil?
  raise ArgumentError.new("root=#{ root.inspect }") unless test(?d, self)
end

Public Instance Methods

directories(&block) click to toggle source
# File lib/ro/root.rb, line 22
def directories(&block)
  Dir.glob(File.join(root, '*/'), &block)
end
dotdir() click to toggle source
# File lib/ro/root.rb, line 38
def dotdir
  File.join(self, '.ro')
end
git() click to toggle source
# File lib/ro/root.rb, line 30
def git
  @git ||= Git.new(self)
end
lock(&block) click to toggle source
# File lib/ro/root.rb, line 46
def lock(&block)
  FileUtils.mkdir_p(File.dirname(lockpath))
  @lock ||= Lock.new(lockpath)
  block ? @lock.lock(&block) : @lock
end
lockpath() click to toggle source
# File lib/ro/root.rb, line 42
def lockpath
  File.join(dotdir, 'lock')
end
node_directories(&block) click to toggle source
# File lib/ro/root.rb, line 26
def node_directories(&block)
  Dir.glob(File.join(root, '*/*/'), &block)
end
nodes() click to toggle source
# File lib/ro/root.rb, line 14
def nodes
  Node::List.new(root) do |list|
    node_directories do |path|
      list.load(path)
    end
  end
end
patch(*args, &block) click to toggle source
# File lib/ro/root.rb, line 34
def patch(*args, &block)
  git.patch(*args, &block)
end
root() click to toggle source
# File lib/ro/root.rb, line 10
def root
  self
end