class TelegramMeetupBot::Commands::ListCommand

Public Instance Methods

exec() click to toggle source
# File lib/telegram_meetup_bot/commands/list_command.rb, line 4
def exec
  response = handle_date(date) do
    users = Calendar.formated_users_for_date(date)
    list_response(list: users, date: date)
  end

  [response, build_reply_markup]
end

Private Instance Methods

build_reply_markup() click to toggle source
# File lib/telegram_meetup_bot/commands/list_command.rb, line 21
def build_reply_markup
  keys = [[previous_day_key, next_day_key].compact]

  Telegram::Bot::Types::InlineKeyboardMarkup.new(inline_keyboard: keys)
end
date() click to toggle source
# File lib/telegram_meetup_bot/commands/list_command.rb, line 15
def date
  @parsed_date ||= ParamsParser.new(params.first).parse_date
  @parsed_date ||= Date.today if params.empty?
  @parsed_date
end
next_day_key() click to toggle source
# File lib/telegram_meetup_bot/commands/list_command.rb, line 36
def next_day_key
  Telegram::Bot::Types::InlineKeyboardButton.new(
    text: '➡️',
    callback_data: "/list #{(date + 1).strftime('%d.%m.%y')}"
  ) rescue nil
end
previous_day_key() click to toggle source
# File lib/telegram_meetup_bot/commands/list_command.rb, line 27
def previous_day_key
  return nil if date == Date.today

  Telegram::Bot::Types::InlineKeyboardButton.new(
    text: '⬅️',
    callback_data: "/list #{(date - 1).strftime('%d.%m.%y')}"
  ) rescue nil
end