Class: Sevk::Resources::Segments

Inherits:
Base
  • Object
show all
Defined in:
lib/sevk/resources/segments.rb

Instance Attribute Summary

Attributes inherited from Base

#client

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

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

Instance Method Details

#calculate(audience_id, segment_id) ⇒ Object



34
35
36
# File 'lib/sevk/resources/segments.rb', line 34

def calculate(audience_id, segment_id)
  client.get("/audiences/#{audience_id}/segments/#{segment_id}/calculate")
end

#create(audience_id, name:, rules:, operator: "AND") ⇒ Object



17
18
19
20
# File 'lib/sevk/resources/segments.rb', line 17

def create(audience_id, name:, rules:, operator: "AND")
  body = { name: name, rules: rules, operator: operator }
  client.post("/audiences/#{audience_id}/segments", body)
end

#delete(audience_id, segment_id) ⇒ Object



30
31
32
# File 'lib/sevk/resources/segments.rb', line 30

def delete(audience_id, segment_id)
  client.delete("/audiences/#{audience_id}/segments/#{segment_id}")
end

#get(audience_id, segment_id) ⇒ Object



13
14
15
# File 'lib/sevk/resources/segments.rb', line 13

def get(audience_id, segment_id)
  client.get("/audiences/#{audience_id}/segments/#{segment_id}")
end

#list(audience_id, page: nil, limit: nil) ⇒ Object



8
9
10
11
# File 'lib/sevk/resources/segments.rb', line 8

def list(audience_id, page: nil, limit: nil)
  params = { page: page, limit: limit }
  client.get("/audiences/#{audience_id}/segments#{build_query_string(params)}")
end

#preview(audience_id, data) ⇒ Object



38
39
40
# File 'lib/sevk/resources/segments.rb', line 38

def preview(audience_id, data)
  client.post("/audiences/#{audience_id}/segments/preview", data)
end

#update(audience_id, segment_id, name: nil, rules: nil, operator: nil) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/sevk/resources/segments.rb', line 22

def update(audience_id, segment_id, name: nil, rules: nil, operator: nil)
  body = {}
  body[:name] = name if name
  body[:rules] = rules if rules
  body[:operator] = operator if operator
  client.put("/audiences/#{audience_id}/segments/#{segment_id}", body)
end