Class: Clicksign::Resources::Notarial::Requirement
Instance Attribute Summary
#id, #relationships
Class Method Summary
collapse
Instance Method Summary
collapse
#[], auto_paging_each, client, #delete, each_page, fields, filter, filter_params, include, list, #method_missing, nested_list, order, page, per, #reload, #respond_to_missing?, #update, validate_jsonapi_include_types!, with_includes
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Clicksign::Resource
Class Method Details
.create(envelope_id:, **attributes) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 15
def self.create(envelope_id:, **attributes)
relationships = attributes.delete(:relationships) || {}
raw = client.post(
"/envelopes/#{envelope_id}/requirements",
body: JsonApi::Serializer.dump(
type: resource_type, attributes: attributes, relationships: relationships,
),
)
parsed = JsonApi::Parser.parse(raw)
build_instance(parsed[:data].first, parent_id: envelope_id)
end
|
.list_for_document(document_id, **filters) ⇒ Object
27
28
29
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 27
def self.list_for_document(document_id, **filters)
list_related('documents', document_id, **filters)
end
|
.list_for_signer(signer_id, **filters) ⇒ Object
31
32
33
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 31
def self.list_for_signer(signer_id, **filters)
list_related('signers', signer_id, **filters)
end
|
.retrieve(id, envelope_id:) ⇒ Object
9
10
11
12
13
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 9
def self.retrieve(id, envelope_id:)
raw = client.get("/envelopes/#{envelope_id}/requirements/#{id}")
parsed = JsonApi::Parser.parse(raw)
build_instance(parsed[:data].first, parent_id: envelope_id)
end
|
Instance Method Details
#base_path ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 45
def base_path
eid = @_parent_id || envelope_id
if eid.nil?
raise Clicksign::Error,
'envelope_id is required for Requirement operations'
end
"/envelopes/#{eid}/requirements"
end
|
#document_id ⇒ Object
59
60
61
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 59
def document_id
relationships.dig('document', 'data', 'id')
end
|
#envelope_id ⇒ Object
55
56
57
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 55
def envelope_id
@_parent_id || relationships.dig('envelope', 'data', 'id')
end
|
#signer_id ⇒ Object
63
64
65
|
# File 'lib/clicksign/resources/notarial/requirement.rb', line 63
def signer_id
relationships.dig('signer', 'data', 'id')
end
|