Class: EvolutionApi::Contact

Inherits:
Object
  • Object
show all
Defined in:
lib/evolution_api/contact.rb

Overview

Classe para representar contatos do WhatsApp

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, instance_name = nil) ⇒ Contact

Returns a new instance of Contact.



9
10
11
12
13
14
15
16
17
18
# File 'lib/evolution_api/contact.rb', line 9

def initialize(data, instance_name = nil)
  @id = data['id']
  @name = data['name']
  @push_name = data['pushName']
  @verified_name = data['verifiedName']
  @is_business = data['isBusiness']
  @is_enterprise = data['isEnterprise']
  @is_high_level_verified = data['isHighLevelVerified']
  @instance_name = instance_name
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def id
  @id
end

#instance_nameObject (readonly)

Returns the value of attribute instance_name.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def instance_name
  @instance_name
end

#is_businessObject (readonly)

Returns the value of attribute is_business.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def is_business
  @is_business
end

#is_enterpriseObject (readonly)

Returns the value of attribute is_enterprise.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def is_enterprise
  @is_enterprise
end

#is_high_level_verifiedObject (readonly)

Returns the value of attribute is_high_level_verified.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def is_high_level_verified
  @is_high_level_verified
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def name
  @name
end

#push_nameObject (readonly)

Returns the value of attribute push_name.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def push_name
  @push_name
end

#verified_nameObject (readonly)

Returns the value of attribute verified_name.



6
7
8
# File 'lib/evolution_api/contact.rb', line 6

def verified_name
  @verified_name
end

Instance Method Details

#business?Boolean

Verifica se é uma conta business

Returns:

  • (Boolean)


21
22
23
# File 'lib/evolution_api/contact.rb', line 21

def business?
  is_business == true
end

#display_nameObject

Obtém o nome de exibição (prioriza nome verificado, depois push name, depois nome)



43
44
45
# File 'lib/evolution_api/contact.rb', line 43

def display_name
  verified_name || push_name || name || number
end

#enterprise?Boolean

Verifica se é uma conta enterprise

Returns:

  • (Boolean)


26
27
28
# File 'lib/evolution_api/contact.rb', line 26

def enterprise?
  is_enterprise == true
end

#high_level_verified?Boolean

Verifica se é uma conta verificada de alto nível

Returns:

  • (Boolean)


31
32
33
# File 'lib/evolution_api/contact.rb', line 31

def high_level_verified?
  is_high_level_verified == true
end

#numberObject

Obtém o número do contato (remove sufixos)



36
37
38
39
40
# File 'lib/evolution_api/contact.rb', line 36

def number
  return nil unless id

  id.split('@').first
end

#to_hObject

Converte para hash



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/evolution_api/contact.rb', line 53

def to_h
  {
    id: id,
    number: number,
    name: name,
    push_name: push_name,
    verified_name: verified_name,
    display_name: display_name,
    is_business: business?,
    is_enterprise: enterprise?,
    is_high_level_verified: high_level_verified?,
    verified: verified?,
    instance_name: instance_name
  }
end

#to_json(*args) ⇒ Object

Converte para JSON



70
71
72
# File 'lib/evolution_api/contact.rb', line 70

def to_json(*args)
  to_h.to_json(*args)
end

#verified?Boolean

Verifica se tem nome verificado

Returns:

  • (Boolean)


48
49
50
# File 'lib/evolution_api/contact.rb', line 48

def verified?
  !verified_name.nil? && !verified_name.empty?
end