Class: Pagerduty::User

Inherits:
Pagerduty show all
Defined in:
lib/pagerduty/models/user.rb

Instance Attribute Summary

Attributes inherited from Pagerduty

#subdomain, #token

Instance Method Summary collapse

Methods inherited from Pagerduty

#acknowledge, #alerts, #alerts_per_time, #create_escalation_policy, #create_maintenance_window, #create_schedule_override, #create_service, #create_user, #escalation_policies, #escalation_rules, #get_escalation_policy, #get_escalation_rule, #get_incident, #get_incident_counts, #get_log_entries, #get_log_entry, #get_maintenance_window, #get_maintenance_windows, #get_schedule, #get_schedule_users, #get_schedules, #get_service, #get_services, #get_user, #get_users, #has_requirements?, #incidents, #incidents_per_time, #initialize, #notes, #resolve, #trigger

Methods included from Core

#curl, #has_requirements?

Constructor Details

This class inherits a constructor from Pagerduty

Instance Method Details

#deleteObject



36
37
38
39
40
41
42
43
44
# File 'lib/pagerduty/models/user.rb', line 36

def delete
  res = curl({
    uri: "https://#@@subdomain.pagerduty.com/api/v1/users/#{self.id}",
    method: 'DELETE',
    raw_response: true
  })

  res.code == '204' ? "Successfully deleted User #{self.id}" : JSON.parse(response.body)
end

#log_entries(options = {}) ⇒ Object

self.attributes end



28
29
30
31
32
33
34
# File 'lib/pagerduty/models/user.rb', line 28

def log_entries(options={})
  LogEntries.new(curl({
    uri: "https://#@@subdomain.pagerduty.com/api/v1/users/#{self.id}/log_entries",
    params: options,
      method: 'GET'
  }))
end

#saveObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/pagerduty/models/user.rb', line 46

def save
  saved_user = User.new(curl({
    uri: "https://#@@subdomain.pagerduty.com/api/v1/users/#{self.id}",
    data: {
      role: self.role,
      name: self.name,
      email: self.email,
      time_zone: self.time_zone
    },
    method: 'PUT'
  })['user'])

  self.role = saved_user.role
  self.name = saved_user.name
  self.email = saved_user.email
  self.time_zone = saved_user.time_zone
  self
end