Sha256: bfc3835a79e7243694ddeb33563ecb916d31dcab8b47816770e509800310082e

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

require 'createsend'
require 'json'

# Represents an email template and associated functionality.
class Template
  attr_reader :template_id

  def initialize(template_id)
    @template_id = template_id
  end

  # Creates a new email template.
  def self.create(client_id, name, html_url, zip_url, screenshot_url)
    options = { :body => { 
      :Name => name,
      :HtmlPageURL => html_url,
      :ZipFileURL => zip_url,
      :ScreenshotURL => screenshot_url }.to_json }
    response = CreateSend.post "/templates/#{client_id}.json", options
    response.parsed_response
  end

  # Gets the details of this email template.
  def details
    response = CreateSend.get "/templates/#{template_id}.json", {}
    Hashie::Mash.new(response)
  end

  # Updates this email template.
  def update(name, html_url, zip_url, screenshot_url)
    options = { :body => { 
      :Name => name,
      :HtmlPageURL => html_url,
      :ZipFileURL => zip_url,
      :ScreenshotURL => screenshot_url }.to_json }
    response = CreateSend.put "/templates/#{template_id}.json", options
  end

  # Deletes this email template.
  def delete
    response = CreateSend.delete "/templates/#{template_id}.json", {}
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
createsend-0.1.1 lib/template.rb
createsend-0.1.0 lib/template.rb
createsend-0.0.2 lib/template.rb