Module: LitmosApiClient::Users

Included in:
API
Defined in:
lib/litmos_api_client/users.rb

Instance Method Summary collapse

Instance Method Details

#create_user(options = {}) ⇒ Object

Raises:



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/litmos_api_client/users.rb', line 13

def create_user(options={})
  raise ArgumentError.new(":username is required") if options[:username].blank?
  raise ArgumentError.new(":first_name is required") if options[:first_name].blank?
  raise ArgumentError.new(":last_name is required") if options[:last_name].blank?
  raise ArgumentError.new(":email is required") if options[:email].blank?

  params = {
    'UserName' => options[:username],
    'FirstName' => options[:first_name],
    'LastName' => options[:last_name],
    'Email' => options[:email],
    'DisableMessages' => true,
    'IsCustomUsername' => true,
    'SkipFirstLogin' => true
  }

  post "users", params
end

#delete_user(id) ⇒ Object



32
33
34
# File 'lib/litmos_api_client/users.rb', line 32

def delete_user(id)
  delete "users/#{id}"
end

#find_user_by_id(id) ⇒ Object



7
8
9
10
11
# File 'lib/litmos_api_client/users.rb', line 7

def find_user_by_id(id)
  get("users/#{id}")
rescue NotFound
  nil
end

#update_user(id, options = {}) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/litmos_api_client/users.rb', line 36

def update_user(id, options={})
  params = {
    'Id' => options[:id],
    'UserName' => options[:username],
    'FirstName' => options[:first_name],
    'LastName' => options[:last_name],
    'Email' => options[:email],
    'Active' => options[:active]
  }
  put "users/#{id}", params
end

#users(params = {}) ⇒ Object



3
4
5
# File 'lib/litmos_api_client/users.rb', line 3

def users(params={})
  get(:users, params)
end