Class: CobraCommander::Dependencies::Yarn::PackageRepo

Inherits:
Object
  • Object
show all
Defined in:
lib/cobra_commander/dependencies/yarn/package_repo.rb

Overview

Yarn package repository to load and cache package.json files

Instance Method Summary collapse

Constructor Details

#initializePackageRepo

Returns a new instance of PackageRepo.



8
9
10
# File 'lib/cobra_commander/dependencies/yarn/package_repo.rb', line 8

def initialize
  @specs = {}
end

Instance Method Details

#load_linked_specs(package) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/cobra_commander/dependencies/yarn/package_repo.rb', line 16

def load_linked_specs(package)
  package.dependencies.each_value do |spec|
    next unless spec =~ /link:(.+)/

    load_spec(File.join(package.path, "..", Regexp.last_match(1)))
  end
end

#load_spec(path) ⇒ Object



24
25
26
27
28
# File 'lib/cobra_commander/dependencies/yarn/package_repo.rb', line 24

def load_spec(path)
  @specs[path] ||= Package.new(path).tap do |package|
    load_linked_specs(package)
  end
end

#specsObject



12
13
14
# File 'lib/cobra_commander/dependencies/yarn/package_repo.rb', line 12

def specs
  @specs.values
end