class Omnibus::Library
Used to generate the manifest of all software components with versions
Attributes
components[R]
Public Class Methods
new(project)
click to toggle source
# File lib/omnibus/library.rb, line 25 def initialize(project) @components = [] @project = project end
Public Instance Methods
component_added(component)
click to toggle source
# File lib/omnibus/library.rb, line 30 def component_added(component) @components << component unless @components.include?(component) end
select(*args, &block)
click to toggle source
# File lib/omnibus/library.rb, line 56 def select(*args, &block) @components.select(*args, &block) end
version_map()
click to toggle source
# File lib/omnibus/library.rb, line 34 def version_map @components.inject({}) {|map, component| map[component.name] = if component.given_version {:version => component.version, :given_version => component.given_version, :overridden => component.overridden?, :version_guid => component.version_guid} else ## Components without a version are ## pieces of the omnibus project ## itself, and so don't really fit ## with the concept of overrides v = {:version => @project.build_version} if @project.build_version.respond_to?(:git_sha) v[:version_guid] = "git:#{@project.build_version.git_sha}" end v end map } end