ruby_universign 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a826c0040b24885ccbde5486f9fcc16a582ced8fd0e37b2c363836d69bff16d2
4
- data.tar.gz: 2fe254d5364b8b085082cf1bd2b57b3c51a6d19ffbd6947af4d7e8a067abdcbd
3
+ metadata.gz: be66f3f3888dfa5be80ae0a7b04bb24abdcd1d968459fe947155195354774323
4
+ data.tar.gz: e8a8bb26267e7b475f29f36bb2e5d019b18766c29e0a1381f2cfff20c2ee302b
5
5
  SHA512:
6
- metadata.gz: 6ef9c2d6c3df55be722c2cc113a04dfa6d5114ffba6d6814ac2c054d982666ea9838807eea9918c46937228768e83b95b025339364a1c2c8637da2e044485826
7
- data.tar.gz: 7c7655992acb0e7983b09cd1931ab184b6c9d1a1979b30513005a18f6f6bb731af14f0f9623e8fe38aa98530255ad9900d4c20bd4621c0728da01384d2bac7e9
6
+ metadata.gz: dbe62e8c57efec45a9680380e478564750d8cdae030cd59697a7b6cd02ce49410a2fc1465c03729eca7f1d725f1669b6aef19933069b964e94295a69c7e2b6bb
7
+ data.tar.gz: fb66dd95ce4c4806217ac2f921148823de882045b845631bee2f564470a3d53b768f014aa4becb3a8612f9ee6e3499d3e3faaa4d2526681828702d1d0b5087cc
data/README.md CHANGED
@@ -83,6 +83,33 @@ transaction = Universign::Transaction.new('9696179e-a43d-4803-beeb-9e5c02fd159b'
83
83
  transaction.signed?
84
84
  ```
85
85
 
86
+ The gem also supports the updated way of creating multiple signature fields per document:
87
+
88
+ ```ruby
89
+ doc_1 = Universign::Document.new(
90
+ name: 'one.pdf',
91
+ content: File.open('spec/fixtures/universign-guide-8.8.pdf').read,
92
+ signature_fields: [
93
+ Universign::SignatureField.new(coordinate: [20, 20], page: 1, signer_index: 0),
94
+ Universign::SignatureField.new(coordinate: [80, 20], page: 1, signer_index: 0)
95
+ ]
96
+ )
97
+
98
+ doc_2 = Universign::Document.new(
99
+ name: 'two.pdf',
100
+ content: File.open('spec/fixtures/universign-guide-8.8.pdf').read,
101
+ signature_fields: [
102
+ Universign::SignatureField.new(coordinate: [100, 120], page: 4, signer_index: 0),
103
+ ]
104
+ )
105
+
106
+ transaction = Universign::Transaction.create(
107
+ documents: [doc_1, doc_2],
108
+ signers: [signer],
109
+ options: { profile: 'default', final_doc_sent: true }
110
+ )
111
+ ```
112
+
86
113
  ### `Universign::Document`
87
114
 
88
115
  It can be created with either your file's content or your file's url.
@@ -75,6 +75,19 @@ module Universign
75
75
  params['name'] = data
76
76
  end
77
77
 
78
+ def signature_fields=(data)
79
+ if !data.is_a?(Array)
80
+ raise 'SignatureFieldsMustBeAnArray'
81
+ end
82
+
83
+ @signature_fields = data
84
+ params['signatureFields'] = data.map do |d|
85
+ raise 'BadSignatureFieldType' unless d.instance_of?(SignatureField)
86
+
87
+ d.params
88
+ end
89
+ end
90
+
78
91
  # The meta data of the PDF document
79
92
  #
80
93
  # @return [Hash]
@@ -2,15 +2,17 @@ module Universign
2
2
  class SignatureField
3
3
  attr_reader :params
4
4
 
5
- def initialize(coordinate:, name: nil, page:)
5
+ def initialize(coordinate:, name: nil, page:, signer_index:)
6
6
  @coordinate = coordinate || [0, 0]
7
7
  @name = name
8
8
  @page = page
9
+ @signer_index = signer_index
9
10
 
10
11
  @params = {
11
- page: @page,
12
- x: @coordinate[0],
13
- y: @coordinate[1]
12
+ page: @page,
13
+ x: @coordinate[0],
14
+ y: @coordinate[1],
15
+ 'signerIndex': @signer_index
14
16
  }
15
17
 
16
18
  @params[:name] = @name unless @name.nil?
@@ -1,3 +1,3 @@
1
1
  module Universign
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_runtime_dependency 'activesupport', '>= 4.1'
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 1.10"
31
- spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency "rake", ">= 12.3.3"
32
32
  spec.add_development_dependency "rspec", "~> 3.0"
33
33
  spec.add_development_dependency "dotenv", "~> 2.0"
34
34
  spec.add_development_dependency "webmock", "~> 3.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_universign
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Besnard
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-07-01 00:00:00.000000000 Z
13
+ date: 2020-11-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -44,16 +44,16 @@ dependencies:
44
44
  name: rake
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '10.0'
49
+ version: 12.3.3
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - "~>"
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: '10.0'
56
+ version: 12.3.3
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rspec
59
59
  requirement: !ruby/object:Gem::Requirement