class Commands::OnCallLookup
Public Instance Methods
call()
click to toggle source
# File lib/lita/commands/on_call_lookup.rb, line 5 def call response message: 'on_call_lookup.response', params: success_params rescue Exceptions::SchedulesEmptyList response message: 'on_call_lookup.no_matching_schedule', params: { schedule_name: schedule_name } rescue Exceptions::NoOncallUser response message: 'on_call_lookup.no_one_on_call', params: { schedule_name: schedule_name } end
Private Instance Methods
oncall_user_params()
click to toggle source
# File lib/lita/commands/on_call_lookup.rb, line 25 def oncall_user_params { 'schedule_ids[]' => schedule[:id], 'include[]' => 'users' } end
schedule()
click to toggle source
# File lib/lita/commands/on_call_lookup.rb, line 17 def schedule @schedule ||= pagerduty.get_schedules(query: schedule_name).first end
schedule_name()
click to toggle source
# File lib/lita/commands/on_call_lookup.rb, line 21 def schedule_name @schedule_name ||= message.match_data[1].strip end
success_params()
click to toggle source
# File lib/lita/commands/on_call_lookup.rb, line 29 def success_params { name: user[:summary], email: user[:email], schedule_name: schedule[:name] } end
user()
click to toggle source
# File lib/lita/commands/on_call_lookup.rb, line 37 def user @user ||= pagerduty.get_oncall_user oncall_user_params end