improve wiki import suggestions
- strip _note suffix from null element weapon IDs - look up weapon series by name to return UUID
This commit is contained in:
parent
9f2d9abdb5
commit
7e548109d6
1 changed files with 22 additions and 3 deletions
|
|
@ -105,7 +105,8 @@ module Granblue
|
|||
suggestions = {}
|
||||
suggestions[:name_en] = data['name'] if data['name'].present?
|
||||
suggestions[:name_jp] = data['jpname'] if data['jpname'].present?
|
||||
suggestions[:granblue_id] = data['id'] if data['id'].present?
|
||||
# Strip _note suffix from null element weapon IDs
|
||||
suggestions[:granblue_id] = data['id'].sub(/_note\z/, '') if data['id'].present?
|
||||
|
||||
# Rarity
|
||||
suggestions[:rarity] = Wiki.rarities[data['rarity']] if data['rarity'].present?
|
||||
|
|
@ -143,8 +144,11 @@ module Granblue
|
|||
# Max level based on rarity and uncap status
|
||||
suggestions[:max_level] = calculate_weapon_max_level(suggestions[:rarity], suggestions[:flb], suggestions[:ulb], suggestions[:transcendence])
|
||||
|
||||
# Series (e.g., "Revenant", "Optimus", etc.)
|
||||
suggestions[:series] = data['series'] if data['series'].present?
|
||||
# Series - look up by name to get the ID
|
||||
if data['series'].present?
|
||||
series = find_weapon_series_by_name(data['series'])
|
||||
suggestions[:series] = series.id if series
|
||||
end
|
||||
|
||||
# Dates
|
||||
suggestions[:release_date] = parse_date(data['release_date']) if data['release_date'].present?
|
||||
|
|
@ -464,6 +468,21 @@ module Granblue
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Find a WeaponSeries by wiki name
|
||||
# Converts names like "Revenant Weapons" or "Revenant" to slug "revenant"
|
||||
def self.find_weapon_series_by_name(name)
|
||||
return nil if name.blank?
|
||||
|
||||
# Convert wiki name to slug format
|
||||
slug = name
|
||||
.gsub(/\s*(Weapons?|Series)\s*$/i, '')
|
||||
.strip
|
||||
.downcase
|
||||
.gsub(/\s+/, '-')
|
||||
|
||||
WeaponSeries.find_by(slug: slug)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue