Class: ZendeskAPI::User

Inherits:
Resource show all
Extended by:
CreateMany, DestroyMany, UpdateMany
Defined in:
lib/zendesk_api/resources.rb,
lib/zendesk_api/resources.rb

Defined Under Namespace

Classes: CurrentSession, Identity, Session, TopicComment

Instance Attribute Summary

Attributes inherited from DataResource

#error, #error_message

Attributes inherited from Data

#association, #attributes, #errors, #response

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DestroyMany

destroy_many!

Methods included from UpdateMany

update_many!

Methods included from CreateMany

create_many!

Methods included from Destroy

#destroy, #destroy!, #destroyed?, included

Methods included from Update

included

Methods included from Save

#clear_associations, #save, #save!, #save_associations

Methods included from Create

included

Methods included from Read

included, #reload!

Methods included from Sideloading

included, #set_includes

Methods included from Verbs

#any, #delete, #post, #put

Methods inherited from Data

#==, #id, inherited, #initialize, #loaded_associations, #method_missing, namespace, new_from_response, #new_record?, #path, resource_name, resource_path, singular_resource_name, subclasses, #to_json, #to_s

Methods included from Associations

included, #wrap_resource

Constructor Details

This class inherits a constructor from ZendeskAPI::Data

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class ZendeskAPI::Data

Class Method Details

.incremental_export(client, start_time) ⇒ Collection

Gets a incremental export of users from the start_time until now.

Parameters:

  • client (Client)

    The Client object to be used

  • start_time (Integer)

    The start_time parameter

Returns:



685
686
687
# File 'lib/zendesk_api/resources.rb', line 685

def self.incremental_export(client, start_time)
  ZendeskAPI::Collection.new(client, self, :path => "incremental/users?start_time=#{start_time.to_i}")
end

Instance Method Details

#attributes_for_saveObject



745
746
747
748
749
750
751
752
753
754
# File 'lib/zendesk_api/resources.rb', line 745

def attributes_for_save
  # Don't send role_id, it's necessary
  # for side-loading, but causes problems on save
  # see #initialize
  attrs = attributes.changes.delete_if do |k, _|
    k == "role_id"
  end

  { self.class.singular_resource_name => attrs }
end

#change_password(opts = {}) ⇒ Object

Change a user's password



667
668
669
# File 'lib/zendesk_api/resources.rb', line 667

def change_password(opts = {})
  password(opts.merge(:verb => :put))
end

#change_password!(opts = {}) ⇒ Object

Change a user's password



677
678
679
# File 'lib/zendesk_api/resources.rb', line 677

def change_password!(opts = {})
  password!(opts.merge(:verb => :put))
end

#clear_sessionsObject



716
717
718
719
720
# File 'lib/zendesk_api/resources.rb', line 716

def clear_sessions
  clear_sessions!
rescue ZendeskAPI::Error::ClientError
  false
end

#clear_sessions!Object



712
713
714
# File 'lib/zendesk_api/resources.rb', line 712

def clear_sessions!
  @client.connection.delete(path + '/sessions')
end

#current_sessionObject



706
707
708
# File 'lib/zendesk_api/resources.rb', line 706

def current_session
  ZendeskAPI::User::CurrentSession.find(@client, :user_id => 'me')
end

#handle_responseObject



756
757
758
759
760
761
# File 'lib/zendesk_api/resources.rb', line 756

def handle_response(*)
  super

  # Needed for proper Role sideloading
  self.role_id = role.name if key?(:role)
end

#set_password(opts = {}) ⇒ Object

Set a user's password



662
663
664
# File 'lib/zendesk_api/resources.rb', line 662

def set_password(opts = {})
  password(opts.merge(:verb => :post))
end

#set_password!(opts = {}) ⇒ Object

Set a user's password



672
673
674
# File 'lib/zendesk_api/resources.rb', line 672

def set_password!(opts = {})
  password!(opts.merge(:verb => :post))
end