Class: StreamChat::Campaign
- Inherits:
-
Object
- Object
- StreamChat::Campaign
- Extended by:
- T::Sig
- Defined in:
- lib/stream-chat/campaign.rb
Instance Attribute Summary collapse
-
#campaign_id ⇒ Object
readonly
Returns the value of attribute campaign_id.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Instance Method Summary collapse
- #create(campaign_id: nil, data: nil) ⇒ Object
- #delete(**options) ⇒ Object
- #get ⇒ Object
-
#initialize(client, campaign_id = nil, data = nil) ⇒ Campaign
constructor
A new instance of Campaign.
- #start(scheduled_for: nil, stop_at: nil) ⇒ Object
- #stop ⇒ Object
- #update(data) ⇒ Object
Constructor Details
#initialize(client, campaign_id = nil, data = nil) ⇒ Campaign
20 21 22 23 24 |
# File 'lib/stream-chat/campaign.rb', line 20 def initialize(client, campaign_id = nil, data = nil) @client = client @campaign_id = campaign_id @data = data end |
Instance Attribute Details
#campaign_id ⇒ Object (readonly)
Returns the value of attribute campaign_id.
14 15 16 |
# File 'lib/stream-chat/campaign.rb', line 14 def campaign_id @campaign_id end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
17 18 19 |
# File 'lib/stream-chat/campaign.rb', line 17 def data @data end |
Instance Method Details
#create(campaign_id: nil, data: nil) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/stream-chat/campaign.rb', line 32 def create(campaign_id: nil, data: nil) @campaign_id = campaign_id if campaign_id @data = merge_campaign_data(@data, data) if data state = @client.create_campaign(campaign_id: @campaign_id, data: @data) @campaign_id = state['campaign']['id'] if @campaign_id.nil? && state.status_code >= 200 && state.status_code < 300 && state['campaign'] state end |
#delete(**options) ⇒ Object
68 69 70 71 72 |
# File 'lib/stream-chat/campaign.rb', line 68 def delete(**) raise StreamChannelException, 'campaign does not have an id' if @campaign_id.nil? @client.delete_campaign(@campaign_id, **) end |
#get ⇒ Object
46 47 48 49 50 |
# File 'lib/stream-chat/campaign.rb', line 46 def get raise StreamChannelException, 'campaign does not have an id' if @campaign_id.nil? @client.get_campaign(@campaign_id) end |
#start(scheduled_for: nil, stop_at: nil) ⇒ Object
80 81 82 83 84 |
# File 'lib/stream-chat/campaign.rb', line 80 def start(scheduled_for: nil, stop_at: nil) raise StreamChannelException, 'campaign does not have an id' if @campaign_id.nil? @client.start_campaign(@campaign_id, scheduled_for: scheduled_for, stop_at: stop_at) end |
#stop ⇒ Object
90 91 92 93 94 |
# File 'lib/stream-chat/campaign.rb', line 90 def stop raise StreamChannelException, 'campaign does not have an id' if @campaign_id.nil? @client.stop_campaign(@campaign_id) end |
#update(data) ⇒ Object
57 58 59 60 61 |
# File 'lib/stream-chat/campaign.rb', line 57 def update(data) raise StreamChannelException, 'campaign does not have an id' if @campaign_id.nil? @client.update_campaign(@campaign_id, data) end |