Class: Whatsapp::Webhook::Message::Contacts

Inherits:
Base
  • Object
show all
Defined in:
lib/ruby/whatsapp/webhook/message/contacts.rb,
lib/ruby/whatsapp/webhook/message/contacts/org.rb,
lib/ruby/whatsapp/webhook/message/contacts/url.rb,
lib/ruby/whatsapp/webhook/message/contacts/name.rb,
lib/ruby/whatsapp/webhook/message/contacts/email.rb,
lib/ruby/whatsapp/webhook/message/contacts/phone.rb,
lib/ruby/whatsapp/webhook/message/contacts/address.rb,
lib/ruby/whatsapp/webhook/message/contacts/contact.rb

Overview

An inbound shared contact card (or cards).

Defined Under Namespace

Classes: Address, Contact, Email, Name, Org, Phone, Url

Instance Attribute Summary collapse

Attributes inherited from Base

#context, #from, #id, #referral, #timestamp, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

common_attributes

Constructor Details

#initialize(contacts:, **base_attributes) ⇒ Contacts

Returns a new instance of Contacts.



12
13
14
15
16
# File 'lib/ruby/whatsapp/webhook/message/contacts.rb', line 12

def initialize(contacts:, **base_attributes)
  super(**base_attributes)

  @contacts = contacts
end

Instance Attribute Details

#contactsArray<Contact>

Returns:



10
11
12
# File 'lib/ruby/whatsapp/webhook/message/contacts.rb', line 10

def contacts
  @contacts
end

Class Method Details

.deserialize(data) ⇒ Contacts

Parameters:

  • data (Hash)

    The raw message hash.

Returns:



21
22
23
24
25
26
# File 'lib/ruby/whatsapp/webhook/message/contacts.rb', line 21

def deserialize(data)
  new(
    contacts: Array(data["contacts"]).map { |contact_data| Contact.deserialize(contact_data) },
    **common_attributes(data)
  )
end