cb-api 7.8.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,19 +45,12 @@ module Cb
45
45
  my_api.append_api_responses result, json_hash
46
46
  end
47
47
 
48
- def delete(external_id, password, test_mode = false)
49
- result = false
48
+ def delete(delete_criteria)
50
49
  my_api = Cb::Utils::Api.instance
51
- json_hash = my_api.cb_post Cb.configuration.uri_user_delete, :body => build_delete_request(external_id, password, test_mode)
52
-
53
- if json_hash.has_key? 'ResponseUserDelete'
54
- if json_hash['ResponseUserDelete'].has_key?('Status') && json_hash['ResponseUserDelete']['Status'].include?('Success')
55
- result = true
56
- end
57
- my_api.append_api_responses result, json_hash['ResponseUserDelete']
58
- end
50
+ uri = Cb::configuration.uri_user_delete
51
+ response = my_api.cb_post(uri, :body => delete_criteria.to_xml)
59
52
 
60
- my_api.append_api_responses result, json_hash
53
+ Cb::Responses::User::Delete.new(response) if response.has_key?('ResponseUserDelete')
61
54
  end
62
55
 
63
56
  private
@@ -95,17 +88,6 @@ module Cb
95
88
  eos
96
89
  end
97
90
 
98
- def build_delete_request(external_id, password, test_mode)
99
- <<-eos
100
- <Request>
101
- <DeveloperKey>#{Cb.configuration.dev_key}</DeveloperKey>
102
- <ExternalID>#{external_id}</ExternalID>
103
- <Test>#{test_mode.to_s}</Test>
104
- <Password>#{password}</Password>
105
- </Request>
106
- eos
107
- end
108
-
109
91
  def api_client
110
92
  Cb::Utils::Api.instance
111
93
  end
@@ -0,0 +1,31 @@
1
+ require 'nokogiri'
2
+
3
+ module Cb
4
+ module Criteria
5
+ module User
6
+
7
+ class Delete
8
+ attr_accessor :external_id, :password, :test
9
+
10
+ def initialize(args = {})
11
+ @external_id = args[:external_id] || ''
12
+ @password = args[:password] || ''
13
+ @test = args[:test] || 'false'
14
+ end
15
+
16
+ def to_xml
17
+ Nokogiri::XML::Builder.new do |xml|
18
+ xml.Request {
19
+ xml.DeveloperKey Cb.configuration.dev_key
20
+ xml.Password password
21
+ xml.ExternalID external_id
22
+ xml.Test self.test # ruby has a builtin called test, confusion occurs :(
23
+ }
24
+ end.to_xml
25
+ end
26
+
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -19,7 +19,7 @@ module Cb
19
19
  end
20
20
 
21
21
  def hash_containing_metadata
22
- response
22
+ response[root_node]
23
23
  end
24
24
 
25
25
  private
data/lib/cb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cb
2
- VERSION = '7.8.0'
2
+ VERSION = '8.0.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cb-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.8.0
4
+ version: 8.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-03 00:00:00.000000000 Z
12
+ date: 2014-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -65,6 +65,22 @@ dependencies:
65
65
  - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: '2.2'
68
+ - !ruby/object:Gem::Dependency
69
+ name: nokogiri
70
+ requirement: !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ version: '1.0'
68
84
  - !ruby/object:Gem::Dependency
69
85
  name: rake
70
86
  requirement: !ruby/object:Gem::Requirement
@@ -209,6 +225,7 @@ files:
209
225
  - lib/cb/criteria/application/response.rb
210
226
  - lib/cb/criteria/application/create.rb
211
227
  - lib/cb/criteria/spot/retrieve.rb
228
+ - lib/cb/criteria/user/delete.rb
212
229
  - lib/cb/responses/anonymous_saved_search/delete.rb
213
230
  - lib/cb/responses/anonymous_saved_search/create.rb
214
231
  - lib/cb/responses/application.rb