Class: Cb::Clients::User

Inherits:
Object
  • Object
show all
Defined in:
lib/cb/clients/user.rb

Class Method Summary collapse

Class Method Details

.build_change_password_request(external_id, old_password, new_password, test_mode) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/cb/clients/user.rb', line 65

def self.build_change_password_request external_id, old_password, new_password, test_mode
  builder = Nokogiri::XML::Builder.new do
    Request {
      ExternalID_ external_id
      OldPassword_ old_password
      NewPassword_ new_password
      Test_ test_mode.to_s
      DeveloperKey_ Cb.configuration.dev_key
    }
  end

  builder.to_xml
end

.build_delete_request(external_id, password, test_mode) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/cb/clients/user.rb', line 79

def self.build_delete_request external_id, password, test_mode
  builder = Nokogiri::XML::Builder.new do
    Request {
      ExternalID_ external_id
      Password_ password
      Test_ test_mode.to_s
      DeveloperKey_ Cb.configuration.dev_key
    }
  end

  builder.to_xml
end

.build_retrieve_request(external_id, test_mode) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/cb/clients/user.rb', line 53

def self.build_retrieve_request external_id, test_mode
  builder = Nokogiri::XML::Builder.new do
    Request {
      ExternalID_ external_id
      Test_ test_mode.to_s
      DeveloperKey_ Cb.configuration.dev_key
    }
  end

  builder.to_xml
end

.change_password(external_id, old_password, new_password, test_mode = false) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/cb/clients/user.rb', line 22

def self.change_password external_id, old_password, new_password, test_mode = false
  result = false
  my_api = Cb::Utils::Api.new
  json_hash = my_api.cb_post Cb.configuration.uri_user_change_password, :body => build_change_password_request(external_id, old_password, new_password, test_mode)

  if json_hash.has_key? 'ResponseUserChangePW'
    if json_hash['ResponseUserChangePW'].has_key?('Status') && json_hash['ResponseUserChangePW']['Status'].include?('Success')
      result = true
    end
    my_api.append_api_responses result, json_hash['ResponseUserChangePW']
  end

  my_api.append_api_responses result, json_hash
end

.delete(external_id, password, test_mode = false) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/cb/clients/user.rb', line 37

def self.delete external_id, password, test_mode = false
  result = false
  my_api = Cb::Utils::Api.new
  json_hash = my_api.cb_post Cb.configuration.uri_user_delete, :body => build_delete_request(external_id, password, test_mode)

  if json_hash.has_key? 'ResponseUserDelete'
    if json_hash['ResponseUserDelete'].has_key?('Status') && json_hash['ResponseUserDelete']['Status'].include?('Success')
      result = true
    end
    my_api.append_api_responses result, json_hash['ResponseUserDelete']
  end

  my_api.append_api_responses result, json_hash
end

.retrieve(external_id, test_mode = false) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cb/clients/user.rb', line 8

def self.retrieve external_id, test_mode = false
  my_api = Cb::Utils::Api.new
  json_hash = my_api.cb_post Cb.configuration.uri_user_retrieve, :body => build_retrieve_request(external_id, true)

  if json_hash.has_key? 'ResponseUserInfo'
    if json_hash['ResponseUserInfo'].has_key? 'UserInfo'
      user = Models::User.new json_hash['ResponseUserInfo']['UserInfo']
    end
    my_api.append_api_responses user, json_hash['ResponseUserInfo']
  end

  my_api.append_api_responses user, json_hash
end