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