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

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/whatsapp/webhook/message/contacts/contact.rb

Overview

A single inbound contact card.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, phones:, emails:, addresses:, urls:, org: nil, birthday: nil) ⇒ Contact

Returns a new instance of Contact.



37
38
39
40
41
42
43
44
45
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 37

def initialize(name:, phones:, emails:, addresses:, urls:, org: nil, birthday: nil)
  @name = name
  @phones = phones
  @emails = emails
  @addresses = addresses
  @org = org
  @urls = urls
  @birthday = birthday
end

Instance Attribute Details

#addressesArray<Address>

Returns:



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

def addresses
  @addresses
end

#birthdayString?

Returns Date in YYYY-MM-DD format.

Returns:

  • (String, nil)

    Date in YYYY-MM-DD format.



35
36
37
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 35

def birthday
  @birthday
end

#emailsArray<Email>

Returns:



19
20
21
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 19

def emails
  @emails
end

#nameName

Returns:



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

def name
  @name
end

#orgOrg?

Returns:



27
28
29
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 27

def org
  @org
end

#phonesArray<Phone>

Returns:



15
16
17
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 15

def phones
  @phones
end

#urlsArray<Url>

Returns:



31
32
33
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 31

def urls
  @urls
end

Class Method Details

.deserialize(data) ⇒ Contact

Parameters:

  • data (Hash)

    A raw contacts[] entry.

Returns:



50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/ruby/whatsapp/webhook/message/contacts/contact.rb', line 50

def deserialize(data)
  data ||= {}

  new(
    name: Name.deserialize(data["name"]),
    phones: Array(data["phones"]).map { |phone_data| Phone.deserialize(phone_data) },
    emails: Array(data["emails"]).map { |email_data| Email.deserialize(email_data) },
    addresses: Array(data["addresses"]).map { |address_data| Address.deserialize(address_data) },
    org: data["org"] ? Org.deserialize(data["org"]) : nil,
    urls: Array(data["urls"]).map { |url_data| Url.deserialize(url_data) },
    birthday: data["birthday"]
  )
end