Class: Clicksign::Resources::Notarial::Envelope
Instance Attribute Summary
#id, #relationships
Class Method Summary
collapse
Instance Method Summary
collapse
#[], auto_paging_each, #base_path, client, #delete, each_page, fields, filter, filter_params, include, list, #method_missing, nested_list, order, page, per, #reload, #respond_to_missing?, retrieve, #update
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Clicksign::Resource
Class Method Details
.activate(id) ⇒ Object
POST /envelopes/:id/activate — rota disponível mas prefira envelope.update(status: ‘running’) via PATCH, que é o caminho recomendado e suportado por todos os ambientes.
22
23
24
25
26
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 22
def self.activate(id)
raw = client.post("#{endpoint}/#{id}/activate", body: {})
parsed = JsonApi::Parser.parse(raw)
build_instance(parsed[:data].first)
end
|
.create(folder_id: nil, **attributes) ⇒ Object
9
10
11
12
13
14
15
16
17
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 9
def self.create(folder_id: nil, **attributes)
relationships = if folder_id
{ folder: { data: { type: 'folders',
id: folder_id } } }
else
{}
end
super(**attributes, relationships: relationships)
end
|
.list_documents(envelope_id, **filters) ⇒ Object
33
34
35
36
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 33
def self.list_documents(envelope_id, **filters)
nested_list(envelope_id, nested_type: 'documents', as: Document,
params: filter_params(**filters))
end
|
.list_events(envelope_id, **filters) ⇒ Object
28
29
30
31
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 28
def self.list_events(envelope_id, **filters)
nested_list(envelope_id, nested_type: 'events', as: Event,
params: filter_params(**filters))
end
|
.list_requirements(envelope_id, **filters) ⇒ Object
49
50
51
52
53
54
55
56
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 49
def self.list_requirements(envelope_id, **filters)
nested_list(
envelope_id,
nested_type: 'requirements',
as: Requirement,
params: filter_params(**filters),
)
end
|
.list_signature_watchers(envelope_id, **filters) ⇒ Object
43
44
45
46
47
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 43
def self.list_signature_watchers(envelope_id, **filters)
nested_list(envelope_id, nested_type: 'signature_watchers',
as: SignatureWatcher,
params: filter_params(**filters))
end
|
.list_signers(envelope_id, **filters) ⇒ Object
38
39
40
41
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 38
def self.list_signers(envelope_id, **filters)
nested_list(envelope_id, nested_type: 'signers', as: Signer,
params: filter_params(**filters))
end
|
.notify(id, message: nil, **email_customization) ⇒ Object
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 58
def self.notify(id, message: nil, **email_customization)
attributes = {}
attributes[:message] = message if message
unless email_customization.empty?
attributes[:email_customization] =
email_customization
end
body = { data: { type: 'notifications', attributes: attributes } }
client.post("#{endpoint}/#{id}/notifications", body: body)
nil
end
|
Instance Method Details
#folder_id ⇒ Object
74
75
76
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 74
def folder_id
relationships.dig('folder', 'data', 'id')
end
|
#notify(message: nil, **email_customization) ⇒ Object
70
71
72
|
# File 'lib/clicksign/resources/notarial/envelope.rb', line 70
def notify(message: nil, **email_customization)
self.class.notify(@id, message: message, **email_customization)
end
|