Class: LicenseFinder::NpmPackage

Inherits:
Package
  • Object
show all
Defined in:
lib/license_finder/packages/npm_package.rb

Defined Under Namespace

Classes: Group, Identifier, PackageJson

Instance Attribute Summary collapse

Attributes inherited from Package

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

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Package

#<=>, #activations, #approved?, #approved_manually!, #approved_manually?, #blacklisted!, #blacklisted?, #decide_on_license, #eql?, #hash, #license_files, license_names_from_standard_spec, #licenses, #licenses_from_spec, #licensing, #log_activation, #missing?, #notice_files, #whitelisted!, #whitelisted?

Constructor Details

#initialize(npm_json) ⇒ NpmPackage

Returns a new instance of NpmPackage.



61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/license_finder/packages/npm_package.rb', line 61

def initialize(npm_json)
  @json = npm_json
  @identifier = Identifier.from_hash(npm_json)
  @dependencies = deps_from_json
  super(@identifier.name,
        @identifier.version,
        description: npm_json['description'],
        homepage: npm_json['homepage'],
        spec_licenses: Package.license_names_from_standard_spec(npm_json),
        install_path: npm_json['path'],
        children: @dependencies.map(&:name))
end

Instance Attribute Details

#dependenciesObject

Returns the value of attribute dependencies.



5
6
7
# File 'lib/license_finder/packages/npm_package.rb', line 5

def dependencies
  @dependencies
end

#groupsObject

Returns the value of attribute groups.



5
6
7
# File 'lib/license_finder/packages/npm_package.rb', line 5

def groups
  @groups
end

#identifierObject

Returns the value of attribute identifier.



5
6
7
# File 'lib/license_finder/packages/npm_package.rb', line 5

def identifier
  @identifier
end

#jsonObject

Returns the value of attribute json.



5
6
7
# File 'lib/license_finder/packages/npm_package.rb', line 5

def json
  @json
end

Class Method Details

.packages_from_json(npm_json, package_path) ⇒ Object



8
9
10
11
12
13
# File 'lib/license_finder/packages/npm_package.rb', line 8

def packages_from_json(npm_json, package_path)
  @packages = flattened_dependencies(npm_json)
  package_json = PackageJson.new(package_path)
  populate_groups(package_json)
  @packages.values
end

Instance Method Details

#==(other) ⇒ Object



74
75
76
# File 'lib/license_finder/packages/npm_package.rb', line 74

def ==(other)
  other.is_a?(NpmPackage) && @identifier == other.identifier
end

#package_managerObject



82
83
84
# File 'lib/license_finder/packages/npm_package.rb', line 82

def package_manager
  'Npm'
end

#to_sObject



78
79
80
# File 'lib/license_finder/packages/npm_package.rb', line 78

def to_s
  @identifier.to_s
end