Class: Broadcast::Resources::Sequences

Inherits:
Base
  • Object
show all
Defined in:
lib/broadcast/resources/sequences.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Broadcast::Resources::Base

Instance Method Details

#add_subscriber(sequence_id, **attrs) ⇒ Object

— Subscriber enrollment —



29
30
31
# File 'lib/broadcast/resources/sequences.rb', line 29

def add_subscriber(sequence_id, **attrs)
  post("/api/v1/sequences/#{sequence_id}/add_subscriber", attrs)
end

#create(**attrs) ⇒ Object



15
16
17
# File 'lib/broadcast/resources/sequences.rb', line 15

def create(**attrs)
  post('/api/v1/sequences', attrs)
end

#create_step(sequence_id, **attrs) ⇒ Object



51
52
53
# File 'lib/broadcast/resources/sequences.rb', line 51

def create_step(sequence_id, **attrs)
  post("/api/v1/sequences/#{sequence_id}/steps", attrs)
end

#delete(id) ⇒ Object



23
24
25
# File 'lib/broadcast/resources/sequences.rb', line 23

def delete(id)
  @client.request(:delete, "/api/v1/sequences/#{id}")
end

#delete_step(sequence_id, step_id) ⇒ Object



63
64
65
# File 'lib/broadcast/resources/sequences.rb', line 63

def delete_step(sequence_id, step_id)
  @client.request(:delete, "/api/v1/sequences/#{sequence_id}/steps/#{step_id}")
end

#get_sequence(id, include_steps: false) ⇒ Object



10
11
12
13
# File 'lib/broadcast/resources/sequences.rb', line 10

def get_sequence(id, include_steps: false)
  params = include_steps ? { include_steps: true } : {}
  get("/api/v1/sequences/#{id}", params)
end

#get_step(sequence_id, step_id) ⇒ Object



47
48
49
# File 'lib/broadcast/resources/sequences.rb', line 47

def get_step(sequence_id, step_id)
  get("/api/v1/sequences/#{sequence_id}/steps/#{step_id}")
end

#list(**params) ⇒ Object



6
7
8
# File 'lib/broadcast/resources/sequences.rb', line 6

def list(**params)
  get('/api/v1/sequences', params)
end

#list_steps(sequence_id) ⇒ Object

— Steps —



43
44
45
# File 'lib/broadcast/resources/sequences.rb', line 43

def list_steps(sequence_id)
  get("/api/v1/sequences/#{sequence_id}/steps")
end

#list_subscribers(sequence_id, page: 1) ⇒ Object



37
38
39
# File 'lib/broadcast/resources/sequences.rb', line 37

def list_subscribers(sequence_id, page: 1)
  get("/api/v1/sequences/#{sequence_id}/list_subscribers", { page: page })
end

#move_step(sequence_id, step_id, under_id:) ⇒ Object



59
60
61
# File 'lib/broadcast/resources/sequences.rb', line 59

def move_step(sequence_id, step_id, under_id:)
  post("/api/v1/sequences/#{sequence_id}/steps/#{step_id}/move", { under_id: under_id })
end

#remove_subscriber(sequence_id, email:) ⇒ Object



33
34
35
# File 'lib/broadcast/resources/sequences.rb', line 33

def remove_subscriber(sequence_id, email:)
  @client.request(:delete, "/api/v1/sequences/#{sequence_id}/remove_subscriber", { email: email })
end

#update(id, **attrs) ⇒ Object



19
20
21
# File 'lib/broadcast/resources/sequences.rb', line 19

def update(id, **attrs)
  patch("/api/v1/sequences/#{id}", attrs)
end

#update_step(sequence_id, step_id, **attrs) ⇒ Object



55
56
57
# File 'lib/broadcast/resources/sequences.rb', line 55

def update_step(sequence_id, step_id, **attrs)
  patch("/api/v1/sequences/#{sequence_id}/steps/#{step_id}", attrs)
end