class Esignatur::Order
esignatur order representation More info: api.esignatur.dk/Documentation/Order
Attributes
api[R]
attributes[R]
Public Class Methods
new(attributes: {}, api:)
click to toggle source
# File lib/esignatur/order.rb, line 17 def initialize(attributes: {}, api:) @attributes = attributes @api = api end
Public Instance Methods
cancel(attributes)
click to toggle source
# File lib/esignatur/order.rb, line 39 def cancel(attributes) camelized_attributes = attributes.transform_keys(&:to_s).transform_keys(&:camelize) creator_id = camelized_attributes.delete('CreatorId') data = { 'OrderId' => id }.merge(camelized_attributes.compact) headers = { 'X-eSignatur-CreatorId': creator_id } api_post('Cancel/CancelOrder', data, headers: headers).success? end
create(attributes)
click to toggle source
# File lib/esignatur/order.rb, line 22 def create(attributes) response = api_post('Order/Create', attributes) if errors.empty? body = response.json_body @attributes = attributes.merge(id: body.fetch('OrderId')).merge(body) end self end
id()
click to toggle source
# File lib/esignatur/order.rb, line 31 def id attributes[:id] end
pades_list()
click to toggle source
# File lib/esignatur/order.rb, line 49 def pades_list @pades_list ||= status.attributes['Documents'].map do |document| Esignatur::Pades.new(order: self, attributes: document, api: api) end end
source_document()
click to toggle source
# File lib/esignatur/order.rb, line 55 def source_document @source_document ||= Esignatur::SourceDocument.new(order: self, api: api) end
status()
click to toggle source
# File lib/esignatur/order.rb, line 35 def status @status ||= Esignatur::Status.new(order: self, api: api).tap(&:fetch) end