lib/fig/package.rb in fig-1.24.1.beta.2 vs lib/fig/package.rb in fig-1.24.1.beta.3
- old
+ new
@@ -3,10 +3,12 @@
require 'fig/logging'
require 'fig/no_such_package_config_error'
require 'fig/package_descriptor'
require 'fig/statement/archive'
require 'fig/statement/configuration'
+require 'fig/statement/include'
+require 'fig/statement/include_file'
require 'fig/statement/resource'
require 'fig/statement/retrieve'
module Fig; end
@@ -20,28 +22,31 @@
DEFAULT_CONFIG = 'default'
attr_reader :name
attr_reader :version
+ attr_reader :file_path
attr_reader :description
attr_reader :runtime_directory
attr_reader :include_file_base_directory
attr_reader :statements
attr_accessor :backtrace
attr_accessor :unparsed_text
def initialize(
name,
version,
+ file_path,
description,
runtime_directory,
include_file_base_directory,
statements,
synthetic
)
@name = name
@version = version
+ @file_path = file_path
@description = description
@runtime_directory = runtime_directory
@include_file_base_directory = include_file_base_directory
@statements = statements
@synthetic = synthetic
@@ -66,16 +71,24 @@
return
end
def [](config_name)
- @statements.each do |stmt|
- return stmt if stmt.is_a?(Fig::Statement::Configuration) && stmt.name == config_name
+ @statements.each do
+ |statement|
+
+ return statement if
+ statement.is_a?(Fig::Statement::Configuration) \
+ && statement.name == config_name
end
descriptor = Fig::PackageDescriptor.new(
- @name, @version, config_name, :description => @description
+ @name,
+ @version,
+ config_name,
+ :file_path => @file_path,
+ :description => @description
)
config_description = nil
if @name.nil? and @version.nil?
config_description = config_name
else
@@ -137,10 +150,16 @@
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::IncludeFile)
+ full_path = statement.full_path_relative_to self
+
+ descriptors << Fig::PackageDescriptor.new(
+ nil, nil, nil, :file_path => full_path
+ )
elsif statement.is_a?(Fig::Statement::Override)
backtrace.add_override(statement)
end
end
@@ -155,32 +174,41 @@
end
return
end
+ def name_or_file_or_description
+ return @name if @name
+
+ if @file_path
+ return "[#{@file_path}]"
+ end
+
+ return @description
+ end
+
def to_s
- name = @name || UNPUBLISHED
+ name = name_or_file_or_description
version = @version || '<empty>'
return Fig::PackageDescriptor.format(name, version, nil)
end
def to_s_with_config(config_name)
displayed_config = config_name == DEFAULT_CONFIG ? nil : config_name
return Fig::PackageDescriptor.format(
- name || UNPUBLISHED, version, displayed_config
+ name_or_file_or_description, version, displayed_config
)
end
# Useful for debugging; should not be used for regular output.
def to_descriptive_string_with_config(config_name)
return Fig::PackageDescriptor.format(
name, version, config_name, :use_default_config, description
)
end
- private
- UNPUBLISHED = '<unpublished>'
+ private
def compare_components(mine, others)
if mine.nil?
if others.nil?
return 0