class Fig::Command::PackageLoader
Loads the base package.
Constants
- DEFAULT_APPLICATION_FILE
- DEFAULT_PACKAGE_FILE
Attributes
package_load_path_description[R]
Public Class Methods
new( application_configuration, descriptor, package_definition_file, base_config, repository )
click to toggle source
# File lib/fig/command/package_loader.rb, line 17 def initialize( application_configuration, descriptor, package_definition_file, base_config, repository ) @application_configuration = application_configuration @descriptor = descriptor @package_definition_file = package_definition_file @base_config = base_config @repository = repository end
Public Instance Methods
load_package_object()
click to toggle source
# File lib/fig/command/package_loader.rb, line 39 def load_package_object() if @descriptor.nil? load_package_object_from_file() else set_base_package @repository.get_package(@descriptor) end return @base_package end
load_package_object_from_file()
click to toggle source
# File lib/fig/command/package_loader.rb, line 31 def load_package_object_from_file() definition_text = load_package_definition_file_contents() parse_package_definition_file(definition_text) return @base_package end
package_source_description()
click to toggle source
# File lib/fig/command/package_loader.rb, line 49 def package_source_description() if @package_load_path_description return @package_load_path_description elsif @descriptor return Fig::PackageDescriptor.format( @descriptor.name, @descriptor.version, nil ) end return nil end
Private Instance Methods
load_package_definition_file_contents()
click to toggle source
# File lib/fig/command/package_loader.rb, line 63 def load_package_definition_file_contents() if @package_definition_file == :none return nil elsif @package_definition_file == '-' @package_load_path_description = '<standard input>' return $stdin.read elsif @package_definition_file.nil? if File.exist?(DEFAULT_PACKAGE_FILE) @package_load_path_description = DEFAULT_PACKAGE_FILE @package_load_path = DEFAULT_PACKAGE_FILE elsif File.exist?(DEFAULT_APPLICATION_FILE) @package_load_path_description = DEFAULT_APPLICATION_FILE @package_load_path = DEFAULT_APPLICATION_FILE end if @package_load_path return File.read(@package_load_path) end else return read_in_package_definition_file(@package_definition_file) end return end
parse_package_definition_file(definition_text)
click to toggle source
# File lib/fig/command/package_loader.rb, line 101 def parse_package_definition_file(definition_text) if definition_text.nil? # This package gets a free ride in terms of requiring a base config; we # synthesize it. set_base_package_to_empty_synthetic_one() return end source_description = package_source_description() descriptor = Fig::PackageDescriptor.new( nil, nil, nil, :file_path => @package_load_path, :description => @package_load_path ? nil : source_description, :source_description => source_description ) unparsed_package = Fig::NotYetParsedPackage.new unparsed_package.descriptor = descriptor unparsed_package.working_directory = '.' unparsed_package.include_file_base_directory = @package_include_file_base_directory || '.' unparsed_package.source_description = source_description unparsed_package.unparsed_text = definition_text set_base_package( Fig::Parser.new( @application_configuration, :check_include_versions ).parse_package(unparsed_package) ) return end
read_in_package_definition_file(config_file)
click to toggle source
# File lib/fig/command/package_loader.rb, line 89 def read_in_package_definition_file(config_file) if File.exist?(config_file) @package_load_path_description = config_file @package_load_path = config_file @package_include_file_base_directory = File.dirname config_file return File.read(config_file) else raise Fig::UserInputError.new(%Q<File "#{config_file}" does not exist.>) end end
set_base_package(package)
click to toggle source
# File lib/fig/command/package_loader.rb, line 161 def set_base_package(package) @base_package = package package.set_base true return end
set_base_package_to_empty_synthetic_one()
click to toggle source
# File lib/fig/command/package_loader.rb, line 137 def set_base_package_to_empty_synthetic_one() set_base_package( Fig::Package.new( nil, # Name nil, # Version nil, # File path 'synthetic', '.', # Working '.', # Base [ Fig::Statement::Configuration.new( nil, %Q<[synthetic statement created in #{__FILE__} line #{__LINE__}]>, @base_config, [] ) ], :is_synthetic, ) ) return end