Class: MetzScan::Analyzers::CrossPackageReferenceSet

Inherits:
Object
  • Object
show all
Defined in:
lib/metz_scan/analyzers/cross_package_reference_set.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(references) ⇒ CrossPackageReferenceSet

Returns a new instance of CrossPackageReferenceSet.



6
7
8
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 6

def initialize(references)
  @references = references
end

Instance Attribute Details

#referencesObject (readonly)

Returns the value of attribute references.



10
11
12
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 10

def references
  @references
end

Instance Method Details

#enough?(minimum_files, minimum_packages) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 28

def enough?(minimum_files, minimum_packages)
  files.size >= minimum_files && packages.size >= minimum_packages
end

#filesObject



12
13
14
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 12

def files
  references.map(&:path).uniq.sort
end

#package_leafsObject



24
25
26
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 24

def package_leafs
  packages.map { |package| package.to_s.split("/").last }.uniq.sort
end

#package_rootsObject



20
21
22
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 20

def package_roots
  packages.map { |package| package.to_s.split("/").first }.uniq.sort
end

#packagesObject



16
17
18
# File 'lib/metz_scan/analyzers/cross_package_reference_set.rb', line 16

def packages
  references.map(&:package).uniq.sort
end