Class: GroupDocs::Signature::Contact

Inherits:
Api::Entity show all
Defined in:
lib/groupdocs/signature/contact.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Api::Entity

#initialize, #inspect, #to_hash

Constructor Details

This class inherits a constructor from GroupDocs::Api::Entity

Instance Attribute Details

#emailObject



74
75
76
# File 'lib/groupdocs/signature/contact.rb', line 74

def email
  @email
end

#firstNameObject Also known as: first_name



68
69
70
# File 'lib/groupdocs/signature/contact.rb', line 68

def firstName
  @firstName
end

#idObject



66
67
68
# File 'lib/groupdocs/signature/contact.rb', line 66

def id
  @id
end

#lastNameObject Also known as: last_name



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

def lastName
  @lastName
end

#nicknameObject



72
73
74
# File 'lib/groupdocs/signature/contact.rb', line 72

def nickname
  @nickname
end

#providerObject



76
77
78
# File 'lib/groupdocs/signature/contact.rb', line 76

def provider
  @provider
end

Class Method Details

.get!(options = {}, access = {}) ⇒ Array<GroupDocs::Signature::Contact>

Returns a list of all contacts.

Parameters:

  • options (Hash) (defaults to: {})

    Hash of options

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :page (Integer)

    Page to start with

  • :records (Integer)

    How many items to list

  • :firstName (String)

    Filter by first name

  • :lastName (String)

    Filter by last name

  • :email (String)

    Filter by last name

Options Hash (access):

  • :client_id (String)
  • :private_key (String)

Returns:



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/groupdocs/signature/contact.rb', line 18

def self.get!(options = {}, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :GET
    request[:path] = '/signature/{{client_id}}/contacts'
  end
  api.add_params(options)
  json = api.execute!

  json[:contacts].map do |contact|
    new(contact)
  end
end

.import!(contacts, access = {}) ⇒ Object

Imports array of contacts.

Examples:

contact_one = GroupDocs::Signature::Contact.new
contact_one.first_name = 'John'
contact_one.last_name = 'Smith'
contact_one.email = '[email protected]'
contact_two = GroupDocs::Signature::Contact.new
contact_two.first_name = 'Carla'
contact_two.last_name = 'Smith'
contact_two.email = '[email protected]'
GroupDocs::Signature::Contact.import!([contact_one, contact_two])

Parameters:

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/groupdocs/signature/contact.rb', line 51

def self.import!(contacts, access = {})
  contacts.is_a?(Array) or raise ArgumentError, "Contacts should be array, received: #{contacts.inspect}"
  contacts.each do |contact|
    contact.is_a?(GroupDocs::Signature::Contact) or raise ArgumentError, "Contact should be GroupDocs::Signature::Contact, received: #{contact.inspect}"
  end

  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = '/signature/{{client_id}}/contacts'
    request[:request_body] = contacts.map { |contact| contact.to_hash }
  end.execute!
end

Instance Method Details

#add!(access = {}) ⇒ Object

Adds contact.

Examples:

contact = GroupDocs::Signature::Contact.new
contact.first_name = 'John'
contact.last_name = 'Smith'
contact.email = '[email protected]'
contact.add!

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


98
99
100
101
102
103
104
105
106
107
# File 'lib/groupdocs/signature/contact.rb', line 98

def add!(access = {})
  json = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = '/signature/{{client_id}}/contact'
    request[:request_body] = to_hash
  end.execute!

  self.id = json[:contact][:id]
end

#delete!(access = {}) ⇒ Object

Deletes contact.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


132
133
134
135
136
137
138
# File 'lib/groupdocs/signature/contact.rb', line 132

def delete!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/signature/{{client_id}}/contacts/#{id}"
  end.execute!
end

#update!(access = {}) ⇒ Object

Updates contact.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


116
117
118
119
120
121
122
123
# File 'lib/groupdocs/signature/contact.rb', line 116

def update!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/{{client_id}}/contacts/#{id}"
    request[:request_body] = to_hash
  end.execute!
end