Module: Universign::Service::Transaction::ClassMethods

Defined in:
lib/universign/service/transaction.rb

Instance Method Summary collapse

Instance Method Details

#create(documents:, signers:, options: {}) ⇒ Universign::Transaction

Signs a document

Parameters:

  • documents (Array<Universign::Document>)

    Documents to sign

  • signers (Array<Universign::SignerTransaction>)
  • options (Hash) (defaults to: {})
  • options: (Hash) (defaults to: {})

    a customizable set of options

Returns:

Raises:

  • (ArgumentError)

    Raised if unknown_key passed in options



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/universign/service/transaction.rb', line 61

def create(documents:, signers:, options: {})
  @client = Universign::Client.instance

  sign_options = DEFAULT_OPTIONS.merge(
    documents: documents.map(&:params),
    signers:   signers.map(&:params),
  )

  options.each do |key, value|
    known_key = AVAILABLE_OPTIONS[key]

    if known_key
      sign_options[known_key] = value
    else
      raise "Unknown Key"
    end
  end

  safeguard do
    result = @client.call("requester.requestTransaction", sign_options)
    Universign::Transaction.new(result['id'], result['url'])
  end
end