ruby_universign 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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