cb-api 7.8.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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