Class: LicenseFinder::NpmPackage
- Defined in:
- lib/license_finder/packages/npm_package.rb
Defined Under Namespace
Classes: Group, Identifier, PackageJson
Instance Attribute Summary collapse
-
#dependencies ⇒ Object
Returns the value of attribute dependencies.
-
#groups ⇒ Object
Returns the value of attribute groups.
-
#identifier ⇒ Object
Returns the value of attribute identifier.
-
#json ⇒ Object
Returns the value of attribute json.
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
- #==(other) ⇒ Object
-
#initialize(npm_json) ⇒ NpmPackage
constructor
A new instance of NpmPackage.
- #package_manager ⇒ Object
- #package_url ⇒ Object
- #to_s ⇒ Object
Methods inherited from Package
#<=>, #activations, #approved?, #approved_manually!, #approved_manually?, #decide_on_license, #eql?, #hash, #license_files, license_names_from_standard_spec, #licenses, #licenses_from_spec, #licensing, #log_activation, #missing?, #notice_files, #permitted!, #permitted?, #restricted!, #restricted?
Constructor Details
#initialize(npm_json) ⇒ NpmPackage
Returns a new instance of NpmPackage.
67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/license_finder/packages/npm_package.rb', line 67 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
#dependencies ⇒ Object
Returns the value of attribute dependencies.
5 6 7 |
# File 'lib/license_finder/packages/npm_package.rb', line 5 def dependencies @dependencies end |
#groups ⇒ Object
Returns the value of attribute groups.
5 6 7 |
# File 'lib/license_finder/packages/npm_package.rb', line 5 def groups @groups end |
#identifier ⇒ Object
Returns the value of attribute identifier.
5 6 7 |
# File 'lib/license_finder/packages/npm_package.rb', line 5 def identifier @identifier end |
#json ⇒ Object
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 14 15 16 17 18 19 |
# 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.reject! do |_identifier, package| package.name.empty? && package.version.empty? && package.licenses.length == 1 && package.licenses.first.name == 'unknown' end @packages.values end |
Instance Method Details
#==(other) ⇒ Object
80 81 82 |
# File 'lib/license_finder/packages/npm_package.rb', line 80 def ==(other) other.is_a?(NpmPackage) && @identifier == other.identifier end |
#package_manager ⇒ Object
88 89 90 |
# File 'lib/license_finder/packages/npm_package.rb', line 88 def package_manager 'Npm' end |
#package_url ⇒ Object
92 93 94 |
# File 'lib/license_finder/packages/npm_package.rb', line 92 def package_url "https://www.npmjs.com/package/#{CGI.escape(name)}/v/#{CGI.escape(version)}" end |
#to_s ⇒ Object
84 85 86 |
# File 'lib/license_finder/packages/npm_package.rb', line 84 def to_s @identifier.to_s end |