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