class Fig::NonRepositoryPackages

Public Class Methods

new(parser) click to toggle source
# File lib/fig/non_repository_packages.rb, line 11
def initialize(parser)
  @parser           = parser

  reset_cached_data

  return
end

Public Instance Methods

[](file_path) click to toggle source
# File lib/fig/non_repository_packages.rb, line 25
def [](file_path)
  file_path = File.expand_path file_path
  if package = @packages_by_path[file_path]
    return package
  end

  if ! File.exist? file_path
    return
  end

  load_package file_path

  return @packages_by_path[file_path]
end
reset_cached_data() click to toggle source
# File lib/fig/non_repository_packages.rb, line 19
def reset_cached_data
  @packages_by_path = {}

  return
end

Private Instance Methods

load_package(file_path) click to toggle source
# File lib/fig/non_repository_packages.rb, line 43
def load_package(file_path)
  content = File.read file_path

  descriptor =
    Fig::PackageDescriptor.new(nil, nil, nil, :file_path => file_path)

  unparsed_package                    = Fig::NotYetParsedPackage.new
  unparsed_package.descriptor         = descriptor
  unparsed_package.working_directory  =
    unparsed_package.include_file_base_directory =
    File.dirname(file_path)
  unparsed_package.source_description = file_path
  unparsed_package.unparsed_text      = content

  package = @parser.parse_package unparsed_package

  @packages_by_path[file_path] = package

  return
end