Class: YouTrack::Client::CreateUser

Inherits:
Request
  • Object
show all
Includes:
ParameterRequest
Defined in:
lib/you_track/client/requests/create_user.rb

Instance Attribute Summary

Attributes included from ParameterRequest

#params

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ParameterRequest

#_mock, #_real, #setup

Methods inherited from Request

#find, #ms_time, #require_parameters

Class Method Details

.accepted_parametersObject



4
5
6
7
8
9
10
11
12
# File 'lib/you_track/client/requests/create_user.rb', line 4

def self.accepted_parameters
  # login     string Login name of a user to be created. Required
  @_accepted_parameters ||= [
    "fullName",  # string  Full name of a new user.
    "email",     # string  New user's e-mail address. Required
    "jabber",    # string  Jabber address for a new user.
    "password",  # string  Password for the new user.
  ]
end

Instance Method Details

#accepted_parametersObject



26
27
28
29
30
# File 'lib/you_track/client/requests/create_user.rb', line 26

def accepted_parameters
  params.fetch("email") # required

  params.slice(*self.class.accepted_parameters)
end

#identityObject



22
23
24
# File 'lib/you_track/client/requests/create_user.rb', line 22

def identity
  params.fetch("login")
end

#mockObject



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/you_track/client/requests/create_user.rb', line 32

def mock
  user = accepted_parameters.merge(
    "filterFolder"       => nil, # wtf does this mean
    "lastCreatedProject" => nil, # not yet
    "login"              => identity,
  )

  service.data[:users][identity] = user

  service.response(status: 201)
end

#realObject



14
15
16
17
18
19
20
# File 'lib/you_track/client/requests/create_user.rb', line 14

def real
  service.request(
    :method => :put,
    :path   => "/admin/user/#{self.identity}",
    :params => self.accepted_parameters,
  )
end