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, GroupMembership, Identity, Session, TopicComment

Class Method Summary collapse

Instance Method Summary collapse

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

.create_many!(client, attributes_array, association = Association.new(:class => self)) ⇒ JobStatus Originally defined in module CreateMany

Creates multiple resources using the create_many endpoint.

Parameters:

  • client (Client)

    The ZendeskAPI::Client object to be used

  • attributes_array (Array)

    An array of resources to be created.

Returns:

.destroy_many!(client, ids, association = Association.new(:class => self)) ⇒ JobStatus Originally defined in module DestroyMany

Destroys multiple resources using the destroy_many endpoint.

Parameters:

  • client (Client)

    The Client object to be used

  • ids (Array)

    An array of ids to destroy

Returns:

.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:



700
701
702
# File 'lib/zendesk_api/resources.rb', line 700

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

.update_many!(client, ids, attributes) ⇒ JobStatus Originally defined in module UpdateMany

Updates multiple resources using the update_many endpoint.

Parameters:

  • client (Client)

    The Client object to be used

  • ids (Array)

    An array of ids to update

  • attributes (Hash)

    The attributes to update resources with

Returns:

Instance Method Details

#abilityZendeskAPI::Ability

Returns The associated object

Returns:



739
# File 'lib/zendesk_api/resources.rb', line 739

has Ability, :inline => true

#ability=(value) ⇒ ZendeskAPI::Ability

Returns The associated object

Parameters:

Returns:



739
# File 'lib/zendesk_api/resources.rb', line 739

has Ability, :inline => true

#attributes_for_saveObject



761
762
763
764
765
766
767
768
769
770
# File 'lib/zendesk_api/resources.rb', line 761

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

#ccd_tickets(options = {}) ⇒ ZendeskAPI::Ticket

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



745
# File 'lib/zendesk_api/resources.rb', line 745

has_many :ccd_tickets, :class => Ticket, :path => 'tickets/ccd'

#ccd_tickets=(value) ⇒ ZendeskAPI::Ticket

Returns The associated object

Parameters:

Returns:



745
# File 'lib/zendesk_api/resources.rb', line 745

has_many :ccd_tickets, :class => Ticket, :path => 'tickets/ccd'

#change_password(opts = {}) ⇒ Object

Change a user's password



682
683
684
# File 'lib/zendesk_api/resources.rb', line 682

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

#change_password!(opts = {}) ⇒ Object

Change a user's password



692
693
694
# File 'lib/zendesk_api/resources.rb', line 692

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

#clear_sessionsObject



731
732
733
734
735
# File 'lib/zendesk_api/resources.rb', line 731

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

#clear_sessions!Object



727
728
729
# File 'lib/zendesk_api/resources.rb', line 727

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

#current_sessionObject



721
722
723
# File 'lib/zendesk_api/resources.rb', line 721

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

#custom_roleZendeskAPI::CustomRole

Returns The associated object

Returns:



737
# File 'lib/zendesk_api/resources.rb', line 737

has CustomRole, :inline => true, :include => :roles

#custom_role=(value) ⇒ ZendeskAPI::CustomRole

Returns The associated object

Parameters:

Returns:



737
# File 'lib/zendesk_api/resources.rb', line 737

has CustomRole, :inline => true, :include => :roles

#forum_subscriptions(options = {}) ⇒ ZendeskAPI::ForumSubscription

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



753
# File 'lib/zendesk_api/resources.rb', line 753

has_many ForumSubscription

#forum_subscriptions=(value) ⇒ ZendeskAPI::ForumSubscription

Returns The associated object

Parameters:

Returns:



753
# File 'lib/zendesk_api/resources.rb', line 753

has_many ForumSubscription

#group_memberships(options = {}) ⇒ ZendeskAPI::GroupMembership

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



748
# File 'lib/zendesk_api/resources.rb', line 748

has_many GroupMembership

#group_memberships=(value) ⇒ ZendeskAPI::GroupMembership

Returns The associated object

Parameters:

Returns:



748
# File 'lib/zendesk_api/resources.rb', line 748

has_many GroupMembership

#groups(options = {}) ⇒ ZendeskAPI::Group

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



747
# File 'lib/zendesk_api/resources.rb', line 747

has_many Group

#groups=(value) ⇒ ZendeskAPI::Group

Returns The associated object

Parameters:

Returns:



747
# File 'lib/zendesk_api/resources.rb', line 747

has_many Group

#handle_responseObject



772
773
774
775
776
777
# File 'lib/zendesk_api/resources.rb', line 772

def handle_response(*)
  super

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

#identities(options = {}) ⇒ ZendeskAPI::User::Identity

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



741
# File 'lib/zendesk_api/resources.rb', line 741

has_many Identity

#identities=(value) ⇒ ZendeskAPI::User::Identity

Returns The associated object

Parameters:

Returns:



741
# File 'lib/zendesk_api/resources.rb', line 741

has_many Identity

#organizationZendeskAPI::Organization

Returns The associated object

Returns:



704
# File 'lib/zendesk_api/resources.rb', line 704

has Organization

#organization=(value) ⇒ ZendeskAPI::Organization

Returns The associated object

Parameters:

Returns:



704
# File 'lib/zendesk_api/resources.rb', line 704

has Organization

#organization_memberships(options = {}) ⇒ ZendeskAPI::OrganizationMembership

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



750
# File 'lib/zendesk_api/resources.rb', line 750

has_many OrganizationMembership

#organization_memberships=(value) ⇒ ZendeskAPI::OrganizationMembership

Returns The associated object

Parameters:

Returns:



750
# File 'lib/zendesk_api/resources.rb', line 750

has_many OrganizationMembership

#organization_subscriptions(options = {}) ⇒ ZendeskAPI::OrganizationSubscription

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



751
# File 'lib/zendesk_api/resources.rb', line 751

has_many OrganizationSubscription

#organization_subscriptions=(value) ⇒ ZendeskAPI::OrganizationSubscription

Returns The associated object

Parameters:

Returns:



751
# File 'lib/zendesk_api/resources.rb', line 751

has_many OrganizationSubscription

#requested_tickets(options = {}) ⇒ ZendeskAPI::Ticket

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



744
# File 'lib/zendesk_api/resources.rb', line 744

has_many :requested_tickets, :class => Ticket, :path => 'tickets/requested'

#requested_tickets=(value) ⇒ ZendeskAPI::Ticket

Returns The associated object

Parameters:

Returns:



744
# File 'lib/zendesk_api/resources.rb', line 744

has_many :requested_tickets, :class => Ticket, :path => 'tickets/requested'

#requests(options = {}) ⇒ ZendeskAPI::Request

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



743
# File 'lib/zendesk_api/resources.rb', line 743

has_many Request

#requests=(value) ⇒ ZendeskAPI::Request

Returns The associated object

Parameters:

Returns:



743
# File 'lib/zendesk_api/resources.rb', line 743

has_many Request

#roleZendeskAPI::Role

Returns The associated object

Returns:



738
# File 'lib/zendesk_api/resources.rb', line 738

has Role, :inline => true, :include_key => :name

#role=(value) ⇒ ZendeskAPI::Role

Returns The associated object

Parameters:

Returns:



738
# File 'lib/zendesk_api/resources.rb', line 738

has Role, :inline => true, :include_key => :name

#sessions(options = {}) ⇒ ZendeskAPI::Session

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



719
# File 'lib/zendesk_api/resources.rb', line 719

has_many Session

#sessions=(value) ⇒ ZendeskAPI::Session

Returns The associated object

Parameters:

Returns:



719
# File 'lib/zendesk_api/resources.rb', line 719

has_many Session

#set_password(opts = {}) ⇒ Object

Set a user's password



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

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

#set_password!(opts = {}) ⇒ Object

Set a user's password



687
688
689
# File 'lib/zendesk_api/resources.rb', line 687

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

#settings(options = {}) ⇒ ZendeskAPI::Setting

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



758
# File 'lib/zendesk_api/resources.rb', line 758

has_many Setting

#settings=(value) ⇒ ZendeskAPI::Setting

Returns The associated object

Parameters:

Returns:



758
# File 'lib/zendesk_api/resources.rb', line 758

has_many Setting

#tags(options = {}) ⇒ ZendeskAPI::Tag

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



759
# File 'lib/zendesk_api/resources.rb', line 759

has_many Tag, :extend => Tag::Update, :inline => :create

#tags=(value) ⇒ ZendeskAPI::Tag

Returns The associated object

Parameters:

  • value (Hash or ZendeskAPI::Tag)

    The associated object or its attributes

Returns:



759
# File 'lib/zendesk_api/resources.rb', line 759

has_many Tag, :extend => Tag::Update, :inline => :create

#topic_comments(options = {}) ⇒ ZendeskAPI::TopicComment

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



755
# File 'lib/zendesk_api/resources.rb', line 755

has_many :topic_comments, :class => TopicComment

#topic_comments=(value) ⇒ ZendeskAPI::TopicComment

Returns The associated object

Parameters:

Returns:



755
# File 'lib/zendesk_api/resources.rb', line 755

has_many :topic_comments, :class => TopicComment

#topic_subscriptions(options = {}) ⇒ ZendeskAPI::TopicSubscription

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



754
# File 'lib/zendesk_api/resources.rb', line 754

has_many TopicSubscription

#topic_subscriptions=(value) ⇒ ZendeskAPI::TopicSubscription

Returns The associated object

Parameters:

Returns:



754
# File 'lib/zendesk_api/resources.rb', line 754

has_many TopicSubscription

#topic_votes(options = {}) ⇒ ZendeskAPI::Topic::TopicVote

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



756
# File 'lib/zendesk_api/resources.rb', line 756

has_many :topic_votes, :class => Topic::TopicVote

#topic_votes=(value) ⇒ ZendeskAPI::Topic::TopicVote

Returns The associated object

Parameters:

Returns:



756
# File 'lib/zendesk_api/resources.rb', line 756

has_many :topic_votes, :class => Topic::TopicVote

#topics(options = {}) ⇒ ZendeskAPI::Topic

Returns The associated object

Parameters:

  • options (Hash) (defaults to: {})

    Options to pass to the collection object

Returns:



749
# File 'lib/zendesk_api/resources.rb', line 749

has_many Topic

#topics=(value) ⇒ ZendeskAPI::Topic

Returns The associated object

Parameters:

Returns:



749
# File 'lib/zendesk_api/resources.rb', line 749

has_many Topic