Change "pop" to "mark_all_read" for clarity

This commit is contained in:
Eric B. Budd 2021-09-07 20:16:43 -05:00
parent 95e77eb1b1
commit 7c3fad429e
1 changed files with 43 additions and 47 deletions

90
iris.rb
View File

@ -21,7 +21,7 @@ class Config
--dump --dump
--help --help
--interactive --interactive
--pop --mark-all-read
--stats --stats
--test-file --test-file
--version --version
@ -34,7 +34,7 @@ class Config
-v -v
] ]
INTERACTIVE_OPTIONS = %w[-i --interactive] INTERACTIVE_OPTIONS = %w[-i --interactive]
NONINTERACTIVE_OPTIONS = %w[-d --dump -h --help -v --version -s --stats -p --pop] NONINTERACTIVE_OPTIONS = %w[-d --dump -h --help -v --version -s --stats --mark-all-read]
NONFILE_OPTIONS = %w[-h --help -v --version] NONFILE_OPTIONS = %w[-h --help -v --version]
@@debug_mode = false @@debug_mode = false
@ -645,36 +645,35 @@ class Display
end end
class Interface class Interface
ONE_SHOTS = %w{help topics unread compose quit freshen reset_display reply edit delete mark_read info pop} ONE_SHOTS = %w{help topics unread compose quit freshen reset_display reply edit delete mark_read info mark_all_read}
CMD_MAP = { CMD_MAP = {
't' => 'topics', 't' => 'topics',
'topics' => 'topics', 'topics' => 'topics',
'u' => 'unread', 'u' => 'unread',
'unread' => 'unread', 'unread' => 'unread',
'm' => 'mark_read', 'm' => 'mark_read',
'mark' => 'mark_read', 'mark' => 'mark_read',
'c' => 'compose', 'c' => 'compose',
'compose' => 'compose', 'compose' => 'compose',
'h' => 'help', 'h' => 'help',
'?' => 'help', '?' => 'help',
'help' => 'help', 'help' => 'help',
'r' => 'reply', 'r' => 'reply',
'reply' => 'reply', 'reply' => 'reply',
'e' => 'edit', 'e' => 'edit',
'edit' => 'edit', 'edit' => 'edit',
'd' => 'delete', 'd' => 'delete',
'delete' => 'delete', 'delete' => 'delete',
'undelete' => 'delete', 'undelete' => 'delete',
'q' => 'quit', 'q' => 'quit',
'quit' => 'quit', 'quit' => 'quit',
'freshen' => 'freshen', 'freshen' => 'freshen',
'f' => 'freshen', 'f' => 'freshen',
'reset' => 'reset_display', 'reset' => 'reset_display',
'clear' => 'reset_display', 'clear' => 'reset_display',
'i' => 'info', 'i' => 'info',
'info ' => 'info', 'info ' => 'info',
'p' => 'pop', 'mark_all_read' => 'mark_all_read',
'pop' => 'pop',
} }
def browsing_handler(line) def browsing_handler(line)
@ -717,20 +716,16 @@ class Interface
Display.say Display.say
end end
def self.pop def self.mark_all_read
unread_messages = Corpus.unread_messages new_reads = Corpus.read_hashes + Corpus.unread_messages.map(&:hash)
unread_messages.each { |message| IrisFile.write_read_file(new_reads.to_json)
Display.say message.to_display Corpus.load
new_reads = (Corpus.read_hashes + [message.hash] + message.replies.map(&:hash)).uniq.sort
IrisFile.write_read_file(new_reads.to_json)
Corpus.load
}
end end
def pop def mark_all_read
Display.say Display.say "Marking all messages as read..."
Interface.pop Interface.mark_all_read
Display.say Display.say "Done!"
end end
def compose def compose
@ -1007,7 +1002,7 @@ class Interface
'freshen, f - Reload to get any new messages', 'freshen, f - Reload to get any new messages',
'reset, clear - Fix screen in case of text corruption', 'reset, clear - Fix screen in case of text corruption',
'info, i - Display Iris version and message stats', 'info, i - Display Iris version and message stats',
'pop, p - Pop unread messages', 'mark_all_read - Mark all messages as read',
'quit, q - Quit Iris', 'quit, q - Quit Iris',
'', '',
'Full documentation available here:', 'Full documentation available here:',
@ -1054,7 +1049,7 @@ class CLI
'--help, -h - Display this text.', '--help, -h - Display this text.',
'--version, -v - Display the current version of Iris.', '--version, -v - Display the current version of Iris.',
'--stats, -s - Display Iris version and message stats.', '--stats, -s - Display Iris version and message stats.',
'--pop, -p - Pop unread messages.', '--mark-all-read - Mark all messages as read.',
'--interactive, -i - Enter interactive mode (default)', '--interactive, -i - Enter interactive mode (default)',
'--dump, -d - Dump entire message corpus out.', '--dump, -d - Dump entire message corpus out.',
'--test-file <filename>, -f <filename> - Use the specified test file for messages.', '--test-file <filename>, -f <filename> - Use the specified test file for messages.',
@ -1085,13 +1080,14 @@ class CLI
exit(0) exit(0)
end end
if (args & %w{-p --pop}).any? if (args & %w{--mark-all-read}).any?
Interface.pop Interface.mark_all_read
exit(0) exit(0)
end end
Display.say "Unrecognized option(s) #{args.join(', ')}" Display.say "Unrecognized option(s) #{args.join(', ')}"
Display.say "Try -h for help" Display.say "Try -h for help"
exit(1)
end end
end end