Class: Whatsapp::Messages::Contacts::Name

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/ruby/whatsapp/messages/contacts/name.rb

Overview

Represents the name component of a contact message.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(formatted_name:, first_name: nil, last_name: nil, middle_name: nil, prefix: nil, suffix: nil) ⇒ Name

Returns a new instance of Name.

Parameters:

  • formatted_name (String)

    The contact's full display name.

  • first_name (String, nil) (defaults to: nil)
  • last_name (String, nil) (defaults to: nil)
  • middle_name (String, nil) (defaults to: nil)
  • prefix (String, nil) (defaults to: nil)
  • suffix (String, nil) (defaults to: nil)

    @raise [ActiveModel::ValidationError] if validation fails.



43
44
45
46
47
48
49
50
51
52
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 43

def initialize(formatted_name:, first_name: nil, last_name: nil, middle_name: nil, prefix: nil, suffix: nil)
  @formatted_name = formatted_name
  @first_name = first_name
  @last_name = last_name
  @middle_name = middle_name
  @prefix = prefix
  @suffix = suffix

  validate!
end

Instance Attribute Details

#first_nameString?

Returns:

  • (String, nil)


16
17
18
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 16

def first_name
  @first_name
end

#formatted_nameString

Returns The contact's full display name. Required.

Returns:

  • (String)

    The contact's full display name. Required.



12
13
14
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 12

def formatted_name
  @formatted_name
end

#last_nameString?

Returns:

  • (String, nil)


20
21
22
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 20

def last_name
  @last_name
end

#middle_nameString?

Returns:

  • (String, nil)


24
25
26
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 24

def middle_name
  @middle_name
end

#prefixString?

Returns:

  • (String, nil)


28
29
30
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 28

def prefix
  @prefix
end

#suffixString?

Returns:

  • (String, nil)


32
33
34
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 32

def suffix
  @suffix
end

Instance Method Details

#serializeHash

Returns The serialized name payload.

Returns:

  • (Hash)

    The serialized name payload.



55
56
57
58
59
60
61
62
63
64
# File 'lib/ruby/whatsapp/messages/contacts/name.rb', line 55

def serialize
  {
    formatted_name:,
    first_name:,
    last_name:,
    middle_name:,
    prefix:,
    suffix:,
  }.compact
end