Class: LicenseFinder::NpmPackage::PackageJson

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

Constant Summary collapse

DEPENDENCY_GROUPS =
%w[dependencies devDependencies].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ PackageJson

Returns a new instance of PackageJson.


183
184
185
186
# File 'lib/license_finder/packages/npm_package.rb', line 183

def initialize(path)
  json = JSON.parse(File.read(path), max_nesting: false)
  @groups = DEPENDENCY_GROUPS.map { |name| Group.new(name, json.fetch(name, {})) }
end

Instance Attribute Details

#groupsObject (readonly)

Returns the value of attribute groups.


179
180
181
# File 'lib/license_finder/packages/npm_package.rb', line 179

def groups
  @groups
end

Instance Method Details

#groups_for(identifier) ⇒ Object


188
189
190
# File 'lib/license_finder/packages/npm_package.rb', line 188

def groups_for(identifier)
  @groups.select { |g| g.include? identifier }.map(&:name)
end