lib/roll.rb in roll-1.1.0 vs lib/roll.rb in roll-1.2.0
- old
+ new
@@ -1,21 +1,33 @@
-require 'roll/kernel'
+require 'roll/config'
+require 'roll/library'
+require 'roll/kernel' # require last
module Roll
- VERSION = "1.0.0" #:till: VERSION = "<%= version %>"
+ VERSION = "1.2.0" # TODO: make verison reference dynamic
# Get environment.
-
def self.env(name=nil)
if name
env = Environment.new(name)
else
env = Environment.new
end
env
end
+ # Change current environment.
+ def self.use(name)
+ Environment.save(name)
+ end
+
+ # Return Array of environment names.
+ def self.list
+ Environment.list
+ end
+
+ #
def self.index(name=nil)
#if name
# env = Environment.new(name)
#else
# env = Environment.new
@@ -23,19 +35,17 @@
env(name).index.to_s
end
# Synchronize an environment by +name+. If a +name+
# is not given the current environment is synchronized.
-
def self.sync(name=nil)
env = env(name)
env.sync
env.save
end
# Add path to current environment.
-
def self.in(path, depth=3)
env = Environment.new
lookup = env.lookup
lookup.append(path, depth)
@@ -46,11 +56,10 @@
return path, lookup.file
end
# Remove path from current environment.
-
def self.out(path)
env = Environment.new
lookup = env.lookup
lookup.delete(path)
@@ -61,11 +70,10 @@
return path, lookup.file
end
# Go thru each roll lib and collect bin paths.
-
def self.path
binpaths = []
Library.list.each do |name|
lib = Library[name]
if lib.bindir?
@@ -77,11 +85,24 @@
# Verify dependencies are in current environment.
#--
# TODO: Instead of Dir.pwd, lookup project root.
#++
- def self.verify(root=Dir.pwd)
- Library.new(root).verify
+ def self.verify(name=nil)
+ if name
+ Library.open(name).verify
+ else
+ Library.new(Dir.pwd).verify
+ end
+ end
+
+ # VersionError is raised when a requested version cannot be found.
+ class VersionError < ::RangeError # :nodoc:
+ end
+
+ # VersionConflict is raised when selecting another version
+ # of a library when a previous version has already been selected.
+ class VersionConflict < ::LoadError # :nodoc:
end
end