class GroupDocs::Signature::Field
Constants
- FIELD_TYPES
Attributes
@attr [Array<String>] acceptableValues
@attr [Integer] align
@attr [String] defaultValue
@attr [Integer] fieldType
@attr [Boolean] fontBold
@attr [String] fontColor
@attr [Boolean] fontItalic
@attr [String] fontName
@attr [Integer] fontSize
@attr [Boolean] fontUnderline
@attr [Integer] forceNewField
@attr [String] getDataFrom
@attr [Integer] graphSizeH
@attr [Integer] graphSizeW
@attr [String] groupName
@attr [String] guidanceText
@attr [String] id
@attr [Integer] input
@attr [Boolean] isSystem
@attr [GroupDocs::Signature::Field::Location] location
@attr [Integer] locationHeight
@attr [Integer] locationWidth
@attr [Integer] locationX
@attr [Integer] locationY
@attr [Array<GroupDocs::Signature::Field::Location>] locations
@attr [Boolean] mandatory
@attr [String] name
@attr [Integer] order
added in realise 2.2.0 @attr [Integer] page
@attr [Integer] pageHeight
added in realise 1.5.8 @attr [Integer] pageWidth
@attr [String] recipientId
@attr [String] regularExpression
@attr [String] settings
@attr [String] signatureFieldId
@attr [String] templateId
@attr [String] textColumns
@attr [String] textRows
@attr [String] tooltip
Public Class Methods
Returns array of predefined lists.
@param [Hash] options Hash of options @option options [String] :id Filter by identifier @param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key @return [Array<GroupDocs::Signature::Field>]
# File lib/groupdocs/signature/field.rb, line 25 def self.get!(options = {}, access = {}) api = Api::Request.new do |request| request[:access] = access request[:method] = :GET request[:path] = '/signature/{{client_id}}/fields' end api.add_params(options) json = api.execute! json[:fields].map do |field| new(field) end end
Public Instance Methods
Converts acceptable values to human-readable format. @return [Array<String>]
# File lib/groupdocs/signature/field.rb, line 218 def acceptable_values @acceptableValues.split(';') if @acceptableValues end
Converts array of acceptable values to machine-readable format. @param [Array<String>] values
# File lib/groupdocs/signature/field.rb, line 206 def acceptable_values=(values) if values.is_a?(Array) values = values.join(';') end @acceptableValues = values end
Creates signature field.
@example
field = GroupDocs::Signature::Field.new field.name = 'Field' field.create!
@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key
# File lib/groupdocs/signature/field.rb, line 234 def create!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = '/signature/{{client_id}}/field' request[:request_body] = to_hash end.execute! self.id = json[:field][:id] end
Deletes signature field.
@example Remove all created fields
fields = GroupDocs::Signature::Field.get!.select { |field| !field.is_system } fields.each { |field| field.delete! }
@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key
# File lib/groupdocs/signature/field.rb, line 277 def delete!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/signature/{{client_id}}/fields/#{id}" end.execute! end
Returns field type in human-readable format. @return [Symbol]
# File lib/groupdocs/signature/field.rb, line 197 def field_type FIELD_TYPES.invert[@fieldType] end
Saves field type in machine-readable format. @param [Symbol, Integer] type
# File lib/groupdocs/signature/field.rb, line 184 def field_type=(type) if type.is_a?(Symbol) type = FIELD_TYPES[type] end @fieldType = type end
Converts location to GroupDocs::Signature::Field::Location
object.
@param [GroupDocs::Signature::Field::Location, Hash] location
# File lib/groupdocs/signature/field.rb, line 156 def location=(location) if location @location = (location.is_a?(GroupDocs::Signature::Field::Location) ? location : Signature::Field::Location.new(location)) locations ? locations << @location : self.locations = [@location] end end
Converts each location to GroupDocs::Signature::Field::Location
object.
@param [Array<GroupDocs::Signature::Field::Location, Hash>] locations
# File lib/groupdocs/signature/field.rb, line 168 def locations=(locations) if locations @locations = locations.map do |location| if location.is_a?(GroupDocs::Signature::Field::Location) location else Signature::Field::Location.new(location) end end end end
Modifies signature field.
@example
field = GroupDocs::Signature::Field.get!.first field.name = 'Field' field.modify!
@param [Hash] access Access credentials @option access [String] :client_id @option access [String] :private_key
# File lib/groupdocs/signature/field.rb, line 257 def modify!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/signature/{{client_id}}/fields/#{id}" request[:request_body] = to_hash end.execute! end