Class: Whatsapp::MessageTemplates::LibraryTemplate::BodyInputs

Inherits:
Object
  • Object
show all
Includes:
ValueObject
Defined in:
lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb

Overview

The optional body content a library template exposes for customisation.

Library templates have fixed wording, so these are toggles rather than text: each one asks Meta to include a pre-written line or link in the body. Source: https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/template-library

Defined Under Namespace

Modules: Defaults

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ValueObject

included

Constructor Details

#initialize(add_contact_number: nil, add_learn_more_link: nil, add_security_recommendation: nil, add_track_package_link: nil, code_expiration_minutes: nil) ⇒ BodyInputs

Returns a new instance of BodyInputs.

Parameters:

  • add_contact_number (Boolean, nil) (defaults to: nil)
  • add_learn_more_link (Boolean, nil) (defaults to: nil)
  • add_security_recommendation (Boolean, nil) (defaults to: nil)
  • add_track_package_link (Boolean, nil) (defaults to: nil)
  • code_expiration_minutes (Integer, nil) (defaults to: nil)

    Must be within 1..90. @raise [ActiveModel::ValidationError] if validation fails.



46
47
48
49
50
51
52
53
54
55
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 46

def initialize(add_contact_number: nil, add_learn_more_link: nil, add_security_recommendation: nil,
  add_track_package_link: nil, code_expiration_minutes: nil)
  @add_contact_number = add_contact_number
  @add_learn_more_link = add_learn_more_link
  @add_security_recommendation = add_security_recommendation
  @add_track_package_link = add_track_package_link
  @code_expiration_minutes = code_expiration_minutes

  validate!
end

Instance Attribute Details

#add_contact_numberBoolean?

Returns:

  • (Boolean, nil)


20
21
22
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 20

def add_contact_number
  @add_contact_number
end

Returns:

  • (Boolean, nil)


24
25
26
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 24

def add_learn_more_link
  @add_learn_more_link
end

#add_security_recommendationBoolean?

Returns:

  • (Boolean, nil)


28
29
30
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 28

def add_security_recommendation
  @add_security_recommendation
end

Returns:

  • (Boolean, nil)


32
33
34
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 32

def add_track_package_link
  @add_track_package_link
end

#code_expiration_minutesInteger?

Returns:

  • (Integer, nil)


36
37
38
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 36

def code_expiration_minutes
  @code_expiration_minutes
end

Instance Method Details

#serializeHash

Returns Only the toggles that were explicitly set.

Returns:

  • (Hash)

    Only the toggles that were explicitly set.



58
59
60
61
62
63
64
65
66
# File 'lib/ruby/whatsapp/message_templates/library_template/body_inputs.rb', line 58

def serialize
  {
    add_contact_number:,
    add_learn_more_link:,
    add_security_recommendation:,
    add_track_package_link:,
    code_expiration_minutes:,
  }.compact
end