class Tapjoy::PagerDuty::Override

Public Class Methods

new(email, schedule_name, override_length) click to toggle source

Initializer services to import values from pg_connect.yaml to configure organization-specific values (currently, subdomain and api_token)

# File lib/tapjoy/pagerduty/override.rb, line 7
def initialize(email, schedule_name, override_length)
  pg = Tapjoy::PagerDuty::Base.new
  override_window_hash = override_window(override_length)
  puts pg.set_override(**query_dates, **override_window_hash,
    user_id: pg.get_user_id(email),
    schedule_id: pg.get_schedule_id(schedule_name) # case-sensitive
  )
end

Private Instance Methods

override_window(override_time) click to toggle source
# File lib/tapjoy/pagerduty/override.rb, line 29
def override_window(override_time)
  from_time = Time.now.iso8601.to_s
  # 3600 is number of seconds, change this to alter the override window
  until_time = (Time.now + override_time).iso8601.to_s

  return {override_start: from_time, override_end: until_time}
end
query_dates() click to toggle source
# File lib/tapjoy/pagerduty/override.rb, line 21
def query_dates
  # This shrinks the query to a one-day window
  since_date = time_string(Time.now)
  until_date = time_string((Time.now + (1*86400)))

  return {query_start: since_date, query_end: until_date}
end
time_string(time_object) click to toggle source
# File lib/tapjoy/pagerduty/override.rb, line 17
def time_string(time_object)
  return time_object.iso8601.to_s
end