lib/licensed/sources/nuget.rb in licensed-2.10.0 vs lib/licensed/sources/nuget.rb in licensed-2.11.0

- old
+ new

@@ -15,38 +15,44 @@ LICENSE_FILE_REGEX = /<license\s*type\s*=\s*\"\s*file\s*\"\s*>\s*(.*)\s*<\/license>/ix.freeze LICENSE_URL_REGEX = /<licenseUrl>\s*(.*)\s*<\/licenseUrl>/ix.freeze PROJECT_URL_REGEX = /<projectUrl>\s*(.*)\s*<\/projectUrl>/ix.freeze PROJECT_DESC_REGEX = /<description>\s*(.*)\s*<\/description>/ix.freeze - def initialize(name:, version:, path:, search_root: nil, metadata: {}, errors: []) - super(name: name, version: version, path: path, search_root: search_root, metadata: metadata, errors: errors) - @metadata["homepage"] = project_url if project_url - @metadata["summary"] = description if description + # Returns the metadata that represents this dependency. This metadata + # is written to YAML in the dependencys cached text file + def license_metadata + super.tap do |record_metadata| + record_metadata["homepage"] = project_url if project_url + record_metadata["summary"] = description if description + end end def nuspec_path name = @metadata["name"] File.join(self.path, "#{name.downcase}.nuspec") end def nuspec_contents - return unless nuspec_path - @nuspec_contents ||= File.read(nuspec_path) + return @nuspec_contents if defined?(@nuspec_contents) + @nuspec_contents = begin + return unless nuspec_path && File.exist?(nuspec_path) + File.read(nuspec_path) + end end def project_url return @project_url if defined?(@project_url) - return unless nuspec_contents @project_url = begin + return unless nuspec_contents match = nuspec_contents.match PROJECT_URL_REGEX match[1] if match && match[1] end end def description return @description if defined?(@description) - return unless nuspec_contents @description = begin + return unless nuspec_contents match = nuspec_contents.match PROJECT_DESC_REGEX match[1] if match && match[1] end end