class HelpDeskAPI::User

Constants

KEYS

Public Class Methods

new(first_name = nil, last_name = nil, email = nil, hourly_rate = nil) click to toggle source
# File lib/helpdeskapi/user.rb, line 31
def initialize(first_name = nil, last_name = nil, email = nil, hourly_rate = nil)
  @first_name = first_name
  @last_name = last_name
  @email = email
  @hourly_rate = hourly_rate
end

Public Instance Methods

edit(hash) click to toggle source
# File lib/helpdeskapi/user.rb, line 38
def edit(hash)
  editable = ['first_name', 'last_name', 'email', 'wants_alerts', 'hourly_rate']
  hash.keep_if { |key, _| editable.include? key.to_s }
  JSON.generate(
    {
      user: {
        account_id: nil,
        archived_user_id: @archived_user_id,
        avatar_url: @avatar_url,
        deleted: @deleted,
        email: @email,
        first_name: @first_name,
        hourly_rate: @hourly_rate,
        last_name: @last_name,
        owned_account_id: nil,
        role: @role,
        spiceworks_uid: @spiceworks_uid,
        spiceworks_user_id: @spiceworks_user_id,
        system_user: @system_user,
        verified: @verified,
        wants_alerts: @wants_alerts
      }
    })
  return # Missing account_id
  headers = {'authenticity_token': HelpDeskAPI::Authentication.authenticity_token, 'X-CSRF-Token': HelpDeskAPI::Authentication.csrf_token, 'Content-Type': 'application/json'}
  HelpDeskAPI::Request.request('PUT', Endpoints::USERS + "/#{@id}", payload, headers)
end
parse(user_hash) click to toggle source
# File lib/helpdeskapi/user.rb, line 69
def parse(user_hash)
  HelpDeskAPI::Utilities.validateHash(user_hash, KEYS)
  KEYS.each do |key|
    instance_variable_set '@'+key, user_hash[key]
    self.class.class_eval { attr_accessor key }
  end
  return self
end
save() click to toggle source
# File lib/helpdeskapi/user.rb, line 66
def save
end