Class: Sendly::Template
- Inherits:
-
Object
- Object
- Sendly::Template
- Defined in:
- lib/sendly/templates_resource.rb
Constant Summary collapse
- STATUSES =
%w[draft published].freeze
- TYPES =
Deprecated.
Preset and custom are distinguished by #is_preset / #preset? now. For the values #status can hold, see STATUSES.
%w[preset custom].freeze
Instance Attribute Summary collapse
-
#created_at ⇒ Object
readonly
Returns the value of attribute created_at.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#is_default ⇒ Object
readonly
deprecated
Deprecated.
The API has no concept of a default template. It returns no such field, so this is always false. There is no replacement.
-
#is_preset ⇒ Object
readonly
Returns the value of attribute is_preset.
-
#locale ⇒ Object
readonly
deprecated
Deprecated.
Templates are not scoped by locale. The API returns no locale field, so this is always nil. There is no replacement.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#preset_slug ⇒ Object
readonly
Returns the value of attribute preset_slug.
-
#published_at ⇒ Object
readonly
Returns the value of attribute published_at.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
-
#text ⇒ Object
(also: #body)
readonly
Returns the value of attribute text.
-
#updated_at ⇒ Object
readonly
Returns the value of attribute updated_at.
-
#variables ⇒ Object
readonly
Returns the value of attribute variables.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
- #custom? ⇒ Boolean
-
#initialize(data) ⇒ Template
constructor
A new instance of Template.
-
#is_published ⇒ Boolean
deprecated
Deprecated.
Use #status or #published?. Derived from #status.
- #preset? ⇒ Boolean
- #published? ⇒ Boolean
- #to_h ⇒ Object
-
#type ⇒ String
deprecated
Deprecated.
Use #is_preset or #preset?. Derived from #is_preset: "preset" for a preset template, "custom" for your own.
Constructor Details
#initialize(data) ⇒ Template
Returns a new instance of Template.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/sendly/templates_resource.rb', line 22 def initialize(data) @id = data["id"] @name = data["name"] @text = data["text"] @variables = data["variables"] || [] @is_preset = data["is_preset"] || data["isPreset"] || false @preset_slug = data["preset_slug"] || data["presetSlug"] @status = data["status"] @version = data["version"] @published_at = parse_time(data["published_at"] || data["publishedAt"]) @created_at = parse_time(data["created_at"] || data["createdAt"]) @updated_at = parse_time(data["updated_at"] || data["updatedAt"]) @locale = data["locale"] @is_default = data["isDefault"] || data["is_default"] || false end |
Instance Attribute Details
#created_at ⇒ Object (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 |
#id ⇒ Object (readonly)
Returns the value of attribute id.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def id @id end |
#is_default ⇒ Object (readonly)
The API has no concept of a default template. It returns no such field, so this is always false. There is no replacement.
14 15 16 |
# File 'lib/sendly/templates_resource.rb', line 14 def is_default @is_default end |
#is_preset ⇒ Object (readonly)
Returns the value of attribute is_preset.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def is_preset @is_preset end |
#locale ⇒ Object (readonly)
Templates are not scoped by locale. The API returns no locale field, so this is always nil. There is no replacement.
10 11 12 |
# File 'lib/sendly/templates_resource.rb', line 10 def locale @locale end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def name @name end |
#preset_slug ⇒ Object (readonly)
Returns the value of attribute preset_slug.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def preset_slug @preset_slug end |
#published_at ⇒ Object (readonly)
Returns the value of attribute published_at.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def published_at @published_at end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def status @status end |
#text ⇒ Object (readonly) Also known as: body
Returns the value of attribute text.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def text @text end |
#updated_at ⇒ Object (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 |
#variables ⇒ Object (readonly)
Returns the value of attribute variables.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def variables @variables end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
5 6 7 |
# File 'lib/sendly/templates_resource.rb', line 5 def version @version end |
Instance Method Details
#custom? ⇒ Boolean
57 58 59 |
# File 'lib/sendly/templates_resource.rb', line 57 def custom? !is_preset end |
#is_published ⇒ Boolean
Use #status or #published?. Derived from #status.
49 50 51 |
# File 'lib/sendly/templates_resource.rb', line 49 def is_published status == "published" end |
#preset? ⇒ Boolean
53 54 55 |
# File 'lib/sendly/templates_resource.rb', line 53 def preset? is_preset end |
#published? ⇒ Boolean
61 62 63 |
# File 'lib/sendly/templates_resource.rb', line 61 def published? status == "published" end |
#to_h ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'lib/sendly/templates_resource.rb', line 65 def to_h { id: id, name: name, text: text, variables: variables, is_preset: is_preset, preset_slug: preset_slug, status: status, version: version, published_at: published_at&.iso8601, created_at: created_at&.iso8601, updated_at: updated_at&.iso8601, body: body, type: type, locale: locale, is_default: is_default, is_published: is_published }.compact end |
#type ⇒ String
Use #is_preset or #preset?. Derived from #is_preset: "preset" for a preset template, "custom" for your own.
43 44 45 |
# File 'lib/sendly/templates_resource.rb', line 43 def type is_preset ? "preset" : "custom" end |