Class: LicenseFinder::MergedPackage

Inherits:
Package
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/license_finder/packages/merged_package.rb

Instance Attribute Summary collapse

Attributes inherited from Package

#authors, #children, #description, #groups, #homepage, #install_path, #license_names_from_spec, #logger, #manual_approval, #name, #parents, #summary, #version

Instance Method Summary collapse

Methods inherited from Package

#activations, #approved?, #approved_manually!, #approved_manually?, #blacklisted!, #blacklisted?, #decide_on_license, #hash, #license_files, license_names_from_standard_spec, #licenses, #licenses_from_spec, #licensing, #log_activation, #missing?, #package_manager, #whitelisted!, #whitelisted?

Constructor Details

#initialize(package, aggregate_paths) ⇒ MergedPackage

Returns a new instance of MergedPackage.



6
7
8
9
10
# File 'lib/license_finder/packages/merged_package.rb', line 6

def initialize(package, aggregate_paths)
  @dependency = package
  @aggregate_paths = aggregate_paths.map { |p| Pathname(p) }
  super(package.name, package.version)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(_method_name) ⇒ Object



38
39
40
# File 'lib/license_finder/packages/merged_package.rb', line 38

def method_missing(_method_name)
  nil
end

Instance Attribute Details

#dependencyObject (readonly)

Returns the value of attribute dependency.



4
5
6
# File 'lib/license_finder/packages/merged_package.rb', line 4

def dependency
  @dependency
end

Instance Method Details

#<=>(other) ⇒ Object



22
23
24
# File 'lib/license_finder/packages/merged_package.rb', line 22

def <=>(other)
  dependency <=> other.dependency
end

#==(other) ⇒ Object



34
35
36
# File 'lib/license_finder/packages/merged_package.rb', line 34

def ==(other)
  dependency.eql?(other.dependency) && aggregate_paths.eql?(other.aggregate_paths)
end

#aggregate_pathsObject



18
19
20
# File 'lib/license_finder/packages/merged_package.rb', line 18

def aggregate_paths
  @aggregate_paths.map { |p| p.expand_path.to_s }
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
32
# File 'lib/license_finder/packages/merged_package.rb', line 26

def eql?(other)
  if other.instance_of? MergedPackage
    other.dependency.eql?(dependency)
  else
    dependency.eql?(other)
  end
end