Module: GroupDocs::Signature::EntityMethods

Included in:
Envelope, Form, Template
Defined in:
lib/groupdocs/signature/shared/entity_methods.rb

Overview

Envelope and template entities share the same set of methods.

See Also:

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



12
13
14
# File 'lib/groupdocs/signature/shared/entity_methods.rb', line 12

def self.included(klass)
  klass.extend ClassMethods
end

Instance Method Details

#create!(options = {}, access = {}) ⇒ Object

Creates template or envelope.

Examples:

Create new template

template = GroupDocs::Signature::Template.new
template.name = "Template"
template.email_subject = "Sing this!"
template.create!

Create new envelope

envelope = GroupDocs::Signature::Envelope.new
envelope.name = "Envelope"
envelope.email_subject = "Sing this!"
envelope.create!

Parameters:

  • options (Hash) (defaults to: {})

    Hash of options

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (options):

  • :template_id (String)

    Template GUID to use

  • :envelope_id (String)

    Envelope GUID to use

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/groupdocs/signature/shared/entity_methods.rb', line 60

def create!(options = {}, access = {})
  template_id = options.delete(:template_id)
  envelope_id = options.delete(:envelope_id)
  options[:templateId] = template_id if template_id
  options[:envelopeId] = envelope_id if envelope_id

  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/{{client_id}}/#{class_name}"
    request[:request_body] = to_hash
  end
  api.add_params(options.merge(:name => name))
  json = api.execute!

  self.id = json[class_name.to_sym][:id]
end

#delete!(access = {}) ⇒ Object

Deletes template, envelope or form.

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


134
135
136
137
138
139
140
# File 'lib/groupdocs/signature/shared/entity_methods.rb', line 134

def delete!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :DELETE
    request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
  end.execute!
end

#modify!(access = {}) ⇒ Object

Modifies template, envelope or form.

Examples:

Modify template

template = GroupDocs::Signature::Template.get!("g94h5g84hj9g4gf23i40j")
template.name = "Template"
template.email_subject = "Sing this!"
template.modify!

Modify envelope

envelope = GroupDocs::Signature::Envelope.get!("g94h5g84hj9g4gf23i40j")
envelope.name = "Envelope"
envelope.email_subject = "Sing this!"
envelope.modify!

Parameters:

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


97
98
99
100
101
102
103
104
# File 'lib/groupdocs/signature/shared/entity_methods.rb', line 97

def modify!(access = {})
  Api::Request.new do |request|
    request[:access] = access
    request[:method] = :POST
    request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
    request[:request_body] = to_hash
  end.execute!
end

#rename!(name, access = {}) ⇒ Object

Renames template, envelope or form.

Parameters:

  • name (String)

    New template name

  • access (Hash) (defaults to: {})

    Access credentials

Options Hash (access):

  • :client_id (String)
  • :private_key (String)


114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/groupdocs/signature/shared/entity_methods.rb', line 114

def rename!(name, access = {})
  api = Api::Request.new do |request|
    request[:access] = access
    request[:method] = :PUT
    request[:path] = "/signature/{{client_id}}/#{class_name.pluralize}/#{id}"
  end
  key = (class_name == 'form' ? :new_name : :name )
  api.add_params(key => name)
  api.execute!

  self.name = name
end