class Ruboty::SlackTakeTurns::Actions::Next
Public Instance Methods
call()
click to toggle source
# File lib/ruboty/slack_take_turns/actions/next.rb, line 5 def call message.reply(_next) rescue ActionBaseError => e message.reply(e.message) Ruboty.logger.info e.to_s rescue => e message.reply(e.message) raise e end
Private Instance Methods
_next()
click to toggle source
# File lib/ruboty/slack_take_turns/actions/next.rb, line 17 def _next self.current_user_id = find_next "#{I18n.t 'messages.actions.next', current_user_name: current_user_name}" end
find_next()
click to toggle source
# File lib/ruboty/slack_take_turns/actions/next.rb, line 22 def find_next raise(CurrentUserNotFound.new(chat_message: message)) unless current_user_id idx = target_user_ids.index(current_user_id) raise UserNotFound.new(chat_message: message, user_id: current_user_id) unless idx if idx == target_user_ids.size - 1 target_user_ids.first else target_user_ids[idx+1] end end