mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-03 11:25:29 -04:00
Cache entry display names
This improves the title page load time (#116)
This commit is contained in:
parent
7a7cb78f82
commit
96949905b9
@ -3,7 +3,8 @@ require "../archive"
|
|||||||
class Title
|
class Title
|
||||||
property dir : String, parent_id : String, title_ids : Array(String),
|
property dir : String, parent_id : String, title_ids : Array(String),
|
||||||
entries : Array(Entry), title : String, id : String,
|
entries : Array(Entry), title : String, id : String,
|
||||||
encoded_title : String, mtime : Time
|
encoded_title : String, mtime : Time,
|
||||||
|
entry_display_name_cache : Hash(String, String)?
|
||||||
|
|
||||||
def initialize(@dir : String, @parent_id, storage,
|
def initialize(@dir : String, @parent_id, storage,
|
||||||
@library : Library)
|
@library : Library)
|
||||||
@ -129,13 +130,17 @@ class Title
|
|||||||
end
|
end
|
||||||
|
|
||||||
def display_name(entry_name)
|
def display_name(entry_name)
|
||||||
dn = entry_name
|
unless @entry_display_name_cache
|
||||||
TitleInfo.new @dir do |info|
|
TitleInfo.new @dir do |info|
|
||||||
info_dn = info.entry_display_name[entry_name]?
|
@entry_display_name_cache = info.entry_display_name
|
||||||
unless info_dn.nil? || info_dn.empty?
|
|
||||||
dn = info_dn
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
dn = entry_name
|
||||||
|
info_dn = @entry_display_name_cache.not_nil![entry_name]?
|
||||||
|
unless info_dn.nil? || info_dn.empty?
|
||||||
|
dn = info_dn
|
||||||
|
end
|
||||||
dn
|
dn
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user