Class: Esignatur::Pades

Inherits:
Object
  • Object
show all
Includes:
ApiResource
Defined in:
lib/esignatur/pades.rb

Overview

esignature PAdES document representation. More info: api.esignatur.dk/Documentation/Pades

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ApiResource

#errors, #last_response

Constructor Details

#initialize(order:, attributes: {}, api:) ⇒ Pades

Returns a new instance of Pades.



13
14
15
16
17
# File 'lib/esignatur/pades.rb', line 13

def initialize(order:, attributes: {}, api:)
  @attributes = attributes
  @order = order
  @api = api
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



11
12
13
# File 'lib/esignatur/pades.rb', line 11

def attributes
  @attributes
end

#orderObject (readonly)

Returns the value of attribute order.



11
12
13
# File 'lib/esignatur/pades.rb', line 11

def order
  @order
end

Instance Method Details

#document_dataObject



19
20
21
22
# File 'lib/esignatur/pades.rb', line 19

def document_data
  fetch unless attributes.key?('DocumentData')
  Base64.decode64(attributes.fetch('DocumentData'))
end

#document_idObject



34
35
36
37
# File 'lib/esignatur/pades.rb', line 34

def document_id
  fetch unless attributes.key?('DocumentId')
  attributes['DocumentId']
end

#fetchObject



39
40
41
42
43
44
45
46
47
48
# File 'lib/esignatur/pades.rb', line 39

def fetch
  response = api_post(
    'Pades/Download',
    {
      'Id' => order.id, 'AgreementId' => attributes['AgreementId']
    }
  )
  @attributes = response.json_body if errors.empty?
  self
end

#filenameObject



29
30
31
32
# File 'lib/esignatur/pades.rb', line 29

def filename
  fetch unless attributes.key?('Filename')
  attributes['Filename']
end

#titleObject



24
25
26
27
# File 'lib/esignatur/pades.rb', line 24

def title
  fetch unless attributes.key?('Title')
  attributes['Title']
end