Skip to content

Commit 710fcf0

Browse files
Merge pull request #196 from plivo/SMS-4914-sdk-for-delete-campaign-brand-api
Delete Campaign - Brand Request - Ruby SDK
2 parents 712688d + 5f351d9 commit 710fcf0

10 files changed

+82
-2
lines changed

Diff for: CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# Change Log
2+
## [4.33.0](https://github.com/plivo/plivo-ruby/tree/v4.33.0) (2022-12-06)
3+
**10DLC: Delete Campaign and Brand API**
4+
- Added Delete campaign and brand API
5+
26
## [4.32.0](https://github.com/plivo/plivo-ruby/tree/v4.32.0) (2022-11-03)
37
**10DLC: Brand Usecase API**
48
- Added Brand Usecase API

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The Plivo Ruby SDK makes it simpler to integrate communications into your Ruby a
99
Add this line to your application's Gemfile:
1010

1111
```ruby
12-
gem 'plivo', '>= 4.32.0'
12+
gem 'plivo', '>= 4.33.0'
1313
```
1414

1515
And then execute:

Diff for: lib/plivo/base/resource_interface.rb

+8
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ def perform_create(params, use_multipart_conn=false)
5959
)
6060
end
6161

62+
def perform_delete(identifier, params = nil)
63+
valid_param?(:identifier, identifier, [String, Symbol], true)
64+
Response.new(
65+
@_client.send_request(@_resource_uri + identifier.to_s + '/', 'DELETE', params, nil, false, is_voice_request: @_is_voice_request),
66+
@_identifier_string
67+
)
68+
end
69+
6270
def perform_submit(identifier, params = nil)
6371
valid_param?(:identifier, identifier, [String, Symbol], true)
6472
response_json = @_client.send_request(@_resource_uri + identifier.to_s + '/Submit/', 'POST', params, nil, false, is_voice_request: @_is_voice_request)

Diff for: lib/plivo/resources/brand.rb

+8
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,14 @@ def get_usecases(brand_id)
8585
identifier = brand_id + '/usecases'
8686
perform_action_with_identifier(identifier, 'GET', nil)
8787
end
88+
89+
##
90+
# Delete Brand
91+
# @param [String] brand_id
92+
def delete(brand_id)
93+
valid_param?(:brand_id, brand_id, [String, Symbol], true)
94+
perform_delete(brand_id)
95+
end
8896
end
8997
end
9098
end

Diff for: lib/plivo/resources/campaign.rb

+7
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,13 @@ def number_unlink(campaign_id, number, options = nil)
131131
action = campaign_id + '/Number/' + number
132132
perform_action_with_identifier(action, 'DELETE', nil)
133133
end
134+
##
135+
# Delete Campaign
136+
# @param [String] campaign_id
137+
def delete(campaign_id)
138+
valid_param?(:campaign_id, campaign_id, [String, Symbol], true)
139+
perform_delete(campaign_id)
140+
end
134141
end
135142
end
136143
end

Diff for: lib/plivo/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module Plivo
2-
VERSION = "4.32.0".freeze
2+
VERSION = "4.33.0".freeze
33
end

Diff for: spec/mocks/brandDeleteResponse.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"message": "Brand Deactivated",
3+
"brand_id": "BPL3KN9"
4+
}

Diff for: spec/mocks/campaignDeleteResponse.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"message": "Campaign Deactivated",
3+
"campaign_id": "CY5NVUA"
4+
}

Diff for: spec/resource_brand_spec.rb

+23
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ def to_json_brand_usecase(obj)
5454
use_cases: obj.use_cases
5555
}.reject { |_, v| v.nil? }.to_json
5656
end
57+
def to_json_delete(obj)
58+
puts obj
59+
{
60+
api_id: obj.api_id,
61+
brand_id: obj.brand_id,
62+
message: obj.message
63+
}.reject { |_, v| v.nil? }.to_json
64+
end
5765
it 'get brand' do
5866
contents = File.read(Dir.pwd + '/spec/mocks/brandGetResponse.json')
5967
mock(200, JSON.parse(contents))
@@ -162,4 +170,19 @@ def to_json_brand_usecase(obj)
162170
method: 'GET',
163171
data: nil)
164172
end
173+
it 'delete brand' do
174+
contents = File.read(Dir.pwd + '/spec/mocks/brandDeleteResponse.json')
175+
mock(200, JSON.parse(contents))
176+
response = @api.brand
177+
.delete(
178+
'BPL3KN9'
179+
)
180+
expect(JSON.parse(to_json_delete(response)))
181+
.to eql(JSON.parse(contents))
182+
compare_requests(uri: '/v1/Account/MAXXXXXXXXXXXXXXXXXX/10dlc/Brand/'\
183+
'BPL3KN9/',
184+
method: 'DELETE',
185+
data: nil)
186+
end
187+
165188
end

Diff for: spec/resource_campaign_spec.rb

+22
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ def to_json_get_numbers(obj)
7272
campaign_id: obj.campaign_id,
7373
usecase: obj.usecase
7474
}.reject { |_, v| v.nil? }.to_json
75+
end
76+
def to_json_delete(obj)
77+
puts obj
78+
{
79+
api_id: obj.api_id,
80+
campaign_id: obj.campaign_id,
81+
message: obj.message
82+
}.reject { |_, v| v.nil? }.to_json
7583
end
7684
it 'get campaign' do
7785
contents = File.read(Dir.pwd + '/spec/mocks/campaignGetResponse.json')
@@ -253,4 +261,18 @@ def to_json_get_numbers(obj)
253261
method: 'DELETE',
254262
data: nil)
255263
end
264+
it 'delete campaign' do
265+
contents = File.read(Dir.pwd + '/spec/mocks/campaignDeleteResponse.json')
266+
mock(200, JSON.parse(contents))
267+
response = @api.campaign
268+
.delete(
269+
'CY5NVUA'
270+
)
271+
expect(JSON.parse(to_json_delete(response)))
272+
.to eql(JSON.parse(contents))
273+
compare_requests(uri: '/v1/Account/MAXXXXXXXXXXXXXXXXXX/10dlc/Campaign/'\
274+
'CY5NVUA/',
275+
method: 'DELETE',
276+
data: nil)
277+
end
256278
end

0 commit comments

Comments
 (0)