lib/fig/package.rb in fig-0.1.62 vs lib/fig/package.rb in fig-0.1.64

- old
+ new

@@ -35,12 +35,19 @@ @statements.each do |stmt| return stmt if stmt.is_a?(Fig::Statement::Configuration) && stmt.name == config_name end descriptor = Fig::PackageDescriptor.new(@name, @version, config_name) - message = 'Configuration not found: ' + descriptor.to_string() + config_description = nil + if @name.nil? and @version.nil? + config_description = config_name + else + config_description = descriptor.to_string(:use_default_config) + end + message = %Q<There is no "#{config_description}" config.> + raise Fig::NoSuchPackageConfigError.new(message, descriptor) end def <=>(other) compared = compare_components(name, other.name) @@ -56,19 +63,11 @@ def config_names return configs.collect { |statement| statement.name } end def retrieves - retrieves = {} - - statements.each do - |statement| - - retrieves[statement.var] = statement.path if statement.is_a?(Fig::Statement::Retrieve) - end - - return retrieves + return @statements.select { |statement| statement.is_a?(Fig::Statement::Retrieve) } end def archive_urls return @statements.select{|s| s.is_a?(Fig::Statement::Archive)}.map{|s| s.url} end @@ -96,10 +95,12 @@ self[config_name || DEFAULT_CONFIG].walk_statements do |statement| if statement.is_a?(Fig::Statement::Include) descriptors << statement.resolved_dependency_descriptor(self, backtrace) + elsif statement.is_a?(Fig::Statement::Override) + backtrace.add_override(statement) end end return descriptors end @@ -112,26 +113,10 @@ end return end - # Block will receive a Package and a Statement. - def walk_statements_following_package_dependencies(repository, &block) - @statements.each do |statement| - yield self, statement - statement.walk_statements_following_package_dependencies( - repository, self, nil, &block - ) - end - - return - end - - def unparse - return @statements.map { |statement| statement.unparse('') }.join("\n") - end - def ==(other) return false if other.nil? return @name == other.name && @version == other.version && @@ -179,13 +164,6 @@ return -1 end return mine <=> others end -end - -# TODO: get this out of the global namespace -def unparse_statements(indent, prefix, statements, suffix) - body = @statements.map { |statement| statement.unparse(indent+' ') }.join("\n") - - return ["\n#{indent}#{prefix}", body, "#{indent}#{suffix}"].join("\n") end