lib/groupdocs/signature/shared/field_methods.rb in groupdocs-1.2.3 vs lib/groupdocs/signature/shared/field_methods.rb in groupdocs-1.2.6
- old
+ new
@@ -70,30 +70,33 @@
# envelope.add_field! field, document, recipient
#
# @param [GroupDocs::Signature::Field] field
# @param [GroupDocs::Document] document
# @param [GroupDocs::Signature::Recipient] recipient
+ # @param [Hash] options
+ # @option options [Boolean] :force_new_field Set to true to force new field create
# @param [Hash] access Access credentials
# @option access [String] :client_id
# @option access [String] :private_key
# @raise [ArgumentError] if field is not GroupDocs::Signature::Field
# @raise [ArgumentError] if document is not GroupDocs::Document
# @raise [ArgumentError] if recipient is not GroupDocs::Signature::Recipient
# @raise [ArgumentError] if field does not specify location
#
- def add_field!(field, document, recipient, access = {})
+ def add_field!(field, document, recipient, opts = {}, access = {})
field.is_a?(GroupDocs::Signature::Field) or raise ArgumentError,
"Field should be GroupDocs::Signature::Field object, received: #{field.inspect}"
document.is_a?(GroupDocs::Document) or raise ArgumentError,
"Document should be GroupDocs::Document object, received: #{document.inspect}"
recipient.is_a?(GroupDocs::Signature::Recipient) or raise ArgumentError,
"Recipient should be GroupDocs::Signature::Recipient object, received: #{recipient.inspect}"
field.location or raise ArgumentError,
"You have to specify field location, received: #{field.location.inspect}"
+ opts[:force_new_field] = true if opts[:force_new_field].nil?
payload = field.to_hash # field itself
payload.merge!(field.location.to_hash) # location should added in plain view (i.e. not "location": {...})
- payload.merge!(forceNewField: true) # create new field flag
+ payload.merge!(forceNewField: opts[:force_new_field]) # create new field flag
Api::Request.new do |request|
request[:access] = access
request[:method] = :POST
request[:path] = "/signature/{{client_id}}/#{pluralized_class_name}/#{id}/documents/#{document.file.guid}/recipient/#{recipient.id}/field/#{field.id}"