class Commands::PagerMe

Public Instance Methods

call() click to toggle source
# File lib/lita/commands/pager_me.rb, line 5
def call
  response message: 'pager_me.success', params: success_response_params
rescue Exceptions::SchedulesEmptyList
  response schedules_empty_list
rescue Exceptions::UserNotIdentified
  response message: 'identify.missing'
rescue Exceptions::UsersEmptyList
  response message: 'identify.unrecognised'
rescue Exceptions::OverrideUnsuccess
  response message: 'pager_me.failure'
end

Private Instance Methods

override() click to toggle source
# File lib/lita/commands/pager_me.rb, line 34
def override
  @override ||= pagerduty.override(
    schedule[:id], current_user[:id], message.match_data[2].strip.to_i
  )
end
schedule() click to toggle source
# File lib/lita/commands/pager_me.rb, line 28
def schedule
  @schedule ||= pagerduty.get_schedules(
    query: message.match_data[1].strip
  ).first
end
schedules_empty_list() click to toggle source
# File lib/lita/commands/pager_me.rb, line 19
def schedules_empty_list
  {
    message: 'on_call_lookup.no_matching_schedule',
    params: {
      schedule_name: message.match_data[1].strip
    }
  }
end
success_response_params() click to toggle source
# File lib/lita/commands/pager_me.rb, line 40
def success_response_params
  {
    name: override[:user][:summary],
    email: current_user[:email],
    finish: override[:end]
  }
end