mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-03 11:25:29 -04:00
Refactor get_on_deck_entry
This commit is contained in:
parent
16fa27e4f6
commit
ff6e64f12a
@ -326,25 +326,18 @@ class Title
|
||||
end
|
||||
|
||||
def get_on_deck_entry(username)
|
||||
# this assumes @entries is in order (low to high), otherwise we would need to sort first
|
||||
idx_latest_read_entry_reverse = -99 # hack to set var, refactor this and `return nil if` below
|
||||
@entries.reverse.each_with_index do |e, i|
|
||||
if load_progress(username, e.title) > 0
|
||||
idx_latest_read_entry_reverse = i
|
||||
break
|
||||
end
|
||||
in_progress_entries = @entries.select do |e|
|
||||
load_progress(username, e.title) > 0
|
||||
end
|
||||
return nil if idx_latest_read_entry_reverse == -99 # handle if no matching entry
|
||||
latest_read_entry = @entries.reverse[idx_latest_read_entry_reverse]
|
||||
if load_progress(username, latest_read_entry.title) == latest_read_entry.pages
|
||||
# return next entry (if exists)
|
||||
if idx_latest_read_entry_reverse - 1 >= 0
|
||||
return @entries.reverse[idx_latest_read_entry_reverse - 1]
|
||||
end
|
||||
else # return in progress entry
|
||||
return latest_read_entry
|
||||
return nil if in_progress_entries.empty?
|
||||
|
||||
latest_read_entry = in_progress_entries[-1]
|
||||
if load_progress(username, latest_read_entry.title) ==
|
||||
latest_read_entry.pages
|
||||
next_entry latest_read_entry
|
||||
else
|
||||
latest_read_entry
|
||||
end
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user