Class: Clicksign::Document

Inherits:
Base
  • Object
show all
Defined in:
lib/clicksign/document.rb

Class Method Summary collapse

Methods inherited from Base

accept_header, api_url, parse, request

Class Method Details

.allObject



3
4
5
6
7
# File 'lib/clicksign/document.rb', line 3

def self.all
  request :get,
    api_url('documents'),
    {}
end

.cancel(key) ⇒ Object



39
40
41
42
43
# File 'lib/clicksign/document.rb', line 39

def self.cancel(key)
  request :post,
    api_url('documents', key, 'cancel'),
    {}.to_json, content_type: 'json'
end

.create(file, params = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/clicksign/document.rb', line 15

def self.create(file, params = {})
  signers = params.delete(:signers)
  params['signers[]'] = [signers].flatten(1) if signers

  request :post,
    api_url('documents'),
    { "document[archive][original]" => file }.merge(params),
    {}
end

.create_list(key, signers, skip_email = true) ⇒ Object



25
26
27
28
29
30
# File 'lib/clicksign/document.rb', line 25

def self.create_list(key, signers, skip_email = true)
  request :post,
    api_url('documents', key, 'list'),
    { signers: [signers].flatten(1), skip_email: skip_email }.to_json,
    content_type: 'json'
end

.download(key) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/clicksign/document.rb', line 45

def self.download(key)
  RestClient.get(api_url('documents', key, 'download')) do |response, request, result, &block|
    case response.code
    when 200
      response
    when 202
      nil
    else
      response.return!(request, response, &block)
    end
  end
end

.find(key) ⇒ Object



9
10
11
12
13
# File 'lib/clicksign/document.rb', line 9

def self.find(key)
  request :get,
    api_url('documents', key),
    {}
end

.resend(key, email, message) ⇒ Object



32
33
34
35
36
37
# File 'lib/clicksign/document.rb', line 32

def self.resend(key, email, message)
  request :post,
    api_url('documents', key, 'resend'),
    { email: email, message: message }.to_json,
    content_type: 'json'
end