Class: Clicksign::JsonApi::Operations::BulkRequirement

Inherits:
Clicksign::JsonApi::Operations show all
Defined in:
lib/clicksign/json_api/operations/bulk_requirement.rb

Constant Summary collapse

VALID_KINDS =
%w[initials manuscript].freeze

Instance Attribute Summary

Attributes inherited from Clicksign::JsonApi::Operations

#entries

Instance Method Summary collapse

Methods inherited from Clicksign::JsonApi::Operations

#add, #initialize, #to_h

Constructor Details

This class inherits a constructor from Clicksign::JsonApi::Operations

Instance Method Details

#add_agree(signer_id:, document_id:, role:) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/clicksign/json_api/operations/bulk_requirement.rb', line 9

def add_agree(signer_id:, document_id:, role:)
  validate_ids!(signer_id, document_id)
  raise ArgumentError, 'role is required' if role.to_s.empty?

  add(
    data: build_add_data(
      signer_id: signer_id,
      document_id: document_id,
      attributes: { action: 'agree', role: role },
    ),
  )
end

#add_provide_evidence(signer_id:, document_id:, auth:) ⇒ Object

Raises:

  • (ArgumentError)


22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/clicksign/json_api/operations/bulk_requirement.rb', line 22

def add_provide_evidence(signer_id:, document_id:, auth:)
  validate_ids!(signer_id, document_id)
  raise ArgumentError, 'auth is required' if auth.to_s.empty?

  add(
    data: build_add_data(
      signer_id: signer_id,
      document_id: document_id,
      attributes: { action: 'provide_evidence', auth: auth },
    ),
  )
end

#add_rubricate(signer_id:, document_id:, pages: nil, rubric_field: nil, kind: nil) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/clicksign/json_api/operations/bulk_requirement.rb', line 35

def add_rubricate(signer_id:, document_id:, pages: nil, rubric_field: nil,
                  kind: nil)
  validate_ids!(signer_id, document_id)
  if pages.nil? && rubric_field.nil?
    raise ArgumentError, 'pages or rubric_field is required'
  end
  if kind && !VALID_KINDS.include?(kind.to_s)
    raise ArgumentError, "kind must be one of: #{VALID_KINDS.join(', ')}"
  end

  add(
    data: build_add_data(
      signer_id: signer_id,
      document_id: document_id,
      attributes: { action: 'rubricate', pages: pages,
                    rubric_field: rubric_field, kind: kind },
    ),
  )
end

#remove(requirement_id:) ⇒ Object

Raises:

  • (ArgumentError)


55
56
57
58
59
# File 'lib/clicksign/json_api/operations/bulk_requirement.rb', line 55

def remove(requirement_id:)
  raise ArgumentError, 'requirement_id is required' if requirement_id.to_s.empty?

  super(ref: { type: 'requirements', id: requirement_id })
end