Class: Sendly::Template

Inherits:
Object
  • Object
show all
Defined in:
lib/sendly/templates_resource.rb

Constant Summary collapse

TYPES =
%w[preset custom].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Template

Returns a new instance of Template.



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sendly/templates_resource.rb', line 10

def initialize(data)
  @id = data["id"]
  @name = data["name"]
  @body = data["body"]
  @type = data["type"] || "custom"
  @locale = data["locale"]
  @variables = data["variables"] || []
  @is_default = data["isDefault"] || data["is_default"] || false
  @is_published = data["isPublished"] || data["is_published"] || false
  @created_at = parse_time(data["createdAt"] || data["created_at"])
  @updated_at = parse_time(data["updatedAt"] || data["updated_at"])
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def body
  @body
end

#created_atObject (readonly)

Returns the value of attribute created_at.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def created_at
  @created_at
end

#idObject (readonly)

Returns the value of attribute id.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def id
  @id
end

#is_defaultObject (readonly)

Returns the value of attribute is_default.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def is_default
  @is_default
end

#is_publishedObject (readonly)

Returns the value of attribute is_published.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def is_published
  @is_published
end

#localeObject (readonly)

Returns the value of attribute locale.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def locale
  @locale
end

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def name
  @name
end

#typeObject (readonly)

Returns the value of attribute type.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def type
  @type
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def updated_at
  @updated_at
end

#variablesObject (readonly)

Returns the value of attribute variables.



5
6
7
# File 'lib/sendly/templates_resource.rb', line 5

def variables
  @variables
end

Instance Method Details

#custom?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/sendly/templates_resource.rb', line 27

def custom?
  type == "custom"
end

#preset?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/sendly/templates_resource.rb', line 23

def preset?
  type == "preset"
end

#published?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/sendly/templates_resource.rb', line 31

def published?
  is_published
end

#to_hObject



35
36
37
38
39
40
41
# File 'lib/sendly/templates_resource.rb', line 35

def to_h
  {
    id: id, name: name, body: body, type: type, locale: locale,
    variables: variables, is_default: is_default, is_published: is_published,
    created_at: created_at&.iso8601, updated_at: updated_at&.iso8601
  }.compact
end