Class: PyrxSynapse::TemplatesClient

Inherits:
Object
  • Object
show all
Defined in:
lib/pyrx_synapse/templates_client.rb

Overview

Template management sub-client.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ TemplatesClient

Returns a new instance of TemplatesClient.



6
7
8
# File 'lib/pyrx_synapse/templates_client.rb', line 6

def initialize(client)
  @client = client
end

Instance Method Details

#create(params) ⇒ Object

Create a new email template.



25
26
27
28
# File 'lib/pyrx_synapse/templates_client.rb', line 25

def create(params)
  raw = @client.request(:post, "/v1/templates", body: params)
  Parsers.parse_template(raw)
end

#delete(slug) ⇒ Object

Delete a template by slug.



37
38
39
40
# File 'lib/pyrx_synapse/templates_client.rb', line 37

def delete(slug)
  @client.request(:delete, "/v1/templates/#{slug}")
  nil
end

#get(slug) ⇒ Object

Get a single template by slug.



19
20
21
22
# File 'lib/pyrx_synapse/templates_client.rb', line 19

def get(slug)
  raw = @client.request(:get, "/v1/templates/#{slug}")
  Parsers.parse_template(raw)
end

#listObject

List all email templates.



11
12
13
14
15
16
# File 'lib/pyrx_synapse/templates_client.rb', line 11

def list
  raw = @client.request(:get, "/v1/templates")
  return [] unless raw.is_a?(Array)

  raw.map { |t| Parsers.parse_template(t) }
end

#preview(slug, params) ⇒ Object

Preview a rendered template with sample data.



43
44
45
46
# File 'lib/pyrx_synapse/templates_client.rb', line 43

def preview(slug, params)
  raw = @client.request(:post, "/v1/templates/#{slug}/preview", body: params)
  Parsers.parse_template_preview(raw)
end

#update(slug, params) ⇒ Object

Update an existing template by slug.



31
32
33
34
# File 'lib/pyrx_synapse/templates_client.rb', line 31

def update(slug, params)
  raw = @client.request(:put, "/v1/templates/#{slug}", body: params)
  Parsers.parse_template(raw)
end