tap: add #reverse_tap_migrations_renames to speed things up
This gets used by `Tap.reverse_tap_migrations_renames` and reduces the amount of information that needs to be calculated on the fly every time.
This commit is contained in:
parent
fb8c0d2b30
commit
d4a273443c
@ -87,7 +87,7 @@ module Cask
|
|||||||
sig { returns(T::Array[String]) }
|
sig { returns(T::Array[String]) }
|
||||||
def old_tokens
|
def old_tokens
|
||||||
@old_tokens ||= if (tap = self.tap)
|
@old_tokens ||= if (tap = self.tap)
|
||||||
Tap.reverse_tap_migrations_renames.fetch("#{tap}/#{token}", []) +
|
Tap.reverse_tap_migrations_renames(tap, token) +
|
||||||
tap.cask_reverse_renames.fetch(token, [])
|
tap.cask_reverse_renames.fetch(token, [])
|
||||||
else
|
else
|
||||||
[]
|
[]
|
||||||
|
@ -552,7 +552,7 @@ class Formula
|
|||||||
sig { returns(T::Array[String]) }
|
sig { returns(T::Array[String]) }
|
||||||
def oldnames
|
def oldnames
|
||||||
@oldnames ||= if (tap = self.tap)
|
@oldnames ||= if (tap = self.tap)
|
||||||
Tap.reverse_tap_migrations_renames.fetch("#{tap}/#{name}", []) +
|
Tap.reverse_tap_migrations_renames(tap, name) +
|
||||||
tap.formula_reverse_renames.fetch(name, [])
|
tap.formula_reverse_renames.fetch(name, [])
|
||||||
else
|
else
|
||||||
[]
|
[]
|
||||||
|
@ -189,6 +189,7 @@ class Tap
|
|||||||
@command_files = nil
|
@command_files = nil
|
||||||
|
|
||||||
@tap_migrations = nil
|
@tap_migrations = nil
|
||||||
|
@reverse_tap_migrations_renames = nil
|
||||||
|
|
||||||
@audit_exceptions = nil
|
@audit_exceptions = nil
|
||||||
@style_exceptions = nil
|
@style_exceptions = nil
|
||||||
@ -853,21 +854,6 @@ class Tap
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { returns(T::Hash[String, T::Array[String]]) }
|
|
||||||
def self.reverse_tap_migrations_renames
|
|
||||||
Tap.each_with_object({}) do |tap, hash|
|
|
||||||
tap.tap_migrations.each do |old_name, new_name|
|
|
||||||
new_tap_user, new_tap_repo, new_name = new_name.split("/", 3)
|
|
||||||
next unless new_name
|
|
||||||
|
|
||||||
new_tap = Tap.fetch(T.must(new_tap_user), T.must(new_tap_repo))
|
|
||||||
|
|
||||||
hash["#{new_tap}/#{new_name}"] ||= []
|
|
||||||
hash["#{new_tap}/#{new_name}"] << old_name
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Hash with tap migrations.
|
# Hash with tap migrations.
|
||||||
sig { returns(T::Hash[String, String]) }
|
sig { returns(T::Hash[String, String]) }
|
||||||
def tap_migrations
|
def tap_migrations
|
||||||
@ -878,6 +864,27 @@ class Tap
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { returns(T::Hash[String, T::Array[String]]) }
|
||||||
|
def reverse_tap_migrations_renames
|
||||||
|
@reverse_tap_migrations_renames ||= tap_migrations.each_with_object({}) do |(old_name, new_name), hash|
|
||||||
|
next if new_name.count("/") != 2
|
||||||
|
|
||||||
|
hash[new_name] ||= []
|
||||||
|
hash[new_name] << old_name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
sig { params(new_tap: Tap, name_or_token: String).returns(T::Array[String]) }
|
||||||
|
def self.reverse_tap_migrations_renames(new_tap, name_or_token)
|
||||||
|
key = "#{new_tap}/#{name_or_token}"
|
||||||
|
|
||||||
|
Tap.each_with_object([]) do |tap, array|
|
||||||
|
next unless (renames = tap.reverse_tap_migrations_renames[key])
|
||||||
|
|
||||||
|
array.concat(renames)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Array with autobump names
|
# Array with autobump names
|
||||||
sig { returns(T::Array[String]) }
|
sig { returns(T::Array[String]) }
|
||||||
def autobump
|
def autobump
|
||||||
|
Loading…
x
Reference in New Issue
Block a user