Skip to content
代码片段 群组 项目
提交 109d1f11 编辑于 作者: Adam Cohen's avatar Adam Cohen 提交者: Brett Walker
浏览文件

Memoize spdx_identifiers method

上级 4c686b45
No related branches found
No related tags found
无相关合并请求
......@@ -4,6 +4,8 @@ module PackageMetadata
module Ingestion
module CompressedPackage
class LicenseIngestionTask
include ::Gitlab::Utils::StrongMemoize
def initialize(import_data, license_map)
@import_data = import_data
@license_map = license_map
......@@ -27,15 +29,16 @@ def execute
attr_reader :import_data
attr_accessor :license_map
def spdx_identifiers
import_data.flat_map(&:spdx_identifiers).sort.uniq
end
strong_memoize_attr :spdx_identifiers
def existing_licenses
PackageMetadata::License.with_spdx_identifiers(spdx_identifiers)
.to_h { |license| [license.spdx_identifier, license.id] }
end
def spdx_identifiers
import_data.flat_map(&:spdx_identifiers).sort.uniq
end
def new_licenses
spdx_identifiers
.reject { |id| license_map[id] }
......
......@@ -142,7 +142,7 @@
subject(:spdx_identifiers) { obj.spdx_identifiers }
it 'sorts licenses and removes duplicates' do
expect(obj.spdx_identifiers).to eq(%w[Apache-1.1 CC-PDDC unknown])
expect(spdx_identifiers).to eq(%w[Apache-1.1 CC-PDDC unknown])
end
# See https://gitlab.com/gitlab-org/gitlab/-/issues/418114
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册