Class: Notifications
- Inherits:
-
Object
- Object
- Notifications
- Defined in:
- lib/jiraquest/distractions/notifications.rb
Overview
Simple User Prompts
Instance Method Summary collapse
- #email ⇒ Object
-
#initialize ⇒ Notifications
constructor
A new instance of Notifications.
- #list ⇒ Object
- #random ⇒ Object
- #read_notifications_count ⇒ Object
- #reddit ⇒ Object
- #slack ⇒ Object
- #text ⇒ Object
- #update_warning(notification) ⇒ Object
- #warning ⇒ Object
Constructor Details
#initialize ⇒ Notifications
Returns a new instance of Notifications.
7 8 9 10 11 |
# File 'lib/jiraquest/distractions/notifications.rb', line 7 def initialize @store = DATA @prompt = TTY::Prompt.new @notifications_list = %w[slack reddit text email] end |
Instance Method Details
#email ⇒ Object
29 30 31 |
# File 'lib/jiraquest/distractions/notifications.rb', line 29 def email @prompt.ok('Someone sent you an email') end |
#list ⇒ Object
13 14 15 |
# File 'lib/jiraquest/distractions/notifications.rb', line 13 def list @notifications_list end |
#random ⇒ Object
33 34 35 |
# File 'lib/jiraquest/distractions/notifications.rb', line 33 def random [slack, reddit, text, email].sample end |
#read_notifications_count ⇒ Object
37 38 39 |
# File 'lib/jiraquest/distractions/notifications.rb', line 37 def read_notifications_count @store.transaction { @store['notifications'] } end |
#reddit ⇒ Object
21 22 23 |
# File 'lib/jiraquest/distractions/notifications.rb', line 21 def reddit @prompt.ok('Someone replied to a Reddit post of yours') end |
#slack ⇒ Object
17 18 19 |
# File 'lib/jiraquest/distractions/notifications.rb', line 17 def slack @prompt.ok('Someone sent you a slack message') end |
#text ⇒ Object
25 26 27 |
# File 'lib/jiraquest/distractions/notifications.rb', line 25 def text @prompt.ok('Someone sent you a WhatsApp message') end |
#update_warning(notification) ⇒ Object
52 53 54 |
# File 'lib/jiraquest/distractions/notifications.rb', line 52 def update_warning(notification) @store.transaction { @store['warnings'][notification] += 1 } end |
#warning ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/jiraquest/distractions/notifications.rb', line 41 def warning dc = read_notifications_count limits = dc.select { |_k, v| v > 2 } limits.each do |distraction, _count| @prompt.error("Be careful, you are spending a lot of time #{distraction}ing, "\ 'you may lose jiras!') update_warning(distraction) end false end |