Class: Blueticks::Resources::CampaignsResource

Inherits:
BaseResource
  • Object
show all
Defined in:
lib/blueticks/resources/campaigns.rb

Instance Attribute Summary

Attributes inherited from BaseResource

#client

Instance Method Summary collapse

Methods inherited from BaseResource

#initialize

Constructor Details

This class inherits a constructor from Blueticks::BaseResource

Instance Method Details

#cancel(campaign_id) ⇒ Object

Cancel a campaign.



51
52
53
54
# File 'lib/blueticks/resources/campaigns.rb', line 51

def cancel(campaign_id)
  env = client.request("POST", "/v1/campaigns/#{campaign_id}/cancel")
  Types::Campaign.from_hash(env && env["data"])
end

#create(name:, audience_id:, text: nil, media_url: nil, media_caption: nil, on_missing_variable: nil) ⇒ Object

Create a campaign against an audience.



11
12
13
14
15
16
17
18
19
20
# File 'lib/blueticks/resources/campaigns.rb', line 11

def create(name:, audience_id:, text: nil, media_url: nil, media_caption: nil,
           on_missing_variable: nil)
  body = { "name" => name, "audienceId" => audience_id }
  body["text"] = text unless text.nil?
  body["mediaUrl"] = media_url unless media_url.nil?
  body["mediaCaption"] = media_caption unless media_caption.nil?
  body["onMissingVariable"] = on_missing_variable unless on_missing_variable.nil?
  env = client.request("POST", "/v1/campaigns", body: body)
  Types::Campaign.from_hash(env && env["data"])
end

#list(order: nil, skip: nil, limit: nil) ⇒ Object

List campaigns, newest first. Offset-paginated.



23
24
25
26
27
28
29
30
# File 'lib/blueticks/resources/campaigns.rb', line 23

def list(order: nil, skip: nil, limit: nil)
  params = {}
  params["order"] = order unless order.nil?
  params["skip"] = skip unless skip.nil?
  params["limit"] = limit unless limit.nil?
  env = client.request("GET", "/v1/campaigns", params: params.empty? ? nil : params)
  Types::PaginatedPage.from_hash(env, item_type: Types::Campaign)
end

#pause(campaign_id) ⇒ Object

Pause a running campaign.



39
40
41
42
# File 'lib/blueticks/resources/campaigns.rb', line 39

def pause(campaign_id)
  env = client.request("POST", "/v1/campaigns/#{campaign_id}/pause")
  Types::Campaign.from_hash(env && env["data"])
end

#resume(campaign_id) ⇒ Object

Resume a paused campaign.



45
46
47
48
# File 'lib/blueticks/resources/campaigns.rb', line 45

def resume(campaign_id)
  env = client.request("POST", "/v1/campaigns/#{campaign_id}/resume")
  Types::Campaign.from_hash(env && env["data"])
end

#retrieve(campaign_id) ⇒ Object

Retrieve a campaign by id.



33
34
35
36
# File 'lib/blueticks/resources/campaigns.rb', line 33

def retrieve(campaign_id)
  env = client.request("GET", "/v1/campaigns/#{campaign_id}")
  Types::Campaign.from_hash(env && env["data"])
end