rightsignature 1.0.6 → 1.0.7

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- M2Q2MTU5ZGRiMjIwMGYyNTk1NWQzZjhhNWZhMDlkZjQxYWFiOTgzYw==
4
+ ZjMzYzk2MDBiZTUwMjcyMzMxNzhkNzUwZjI1ZTI5YTQyMjI5NDYwMQ==
5
5
  data.tar.gz: !binary |-
6
- NWU3Y2UxOTE1MzAyYjY5Yzc0MmU5NTk4ZmYxNTg0ZjcwMWUxNWZhMA==
6
+ YTFlYzIzMDcyNzMyMWNmNDM1NjNjZmUwMzQwMjFlZTM1ODJlM2FlNQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MGYwM2RmZjFhMDcyMjM5ZDhkMTg2OGY3MzA5OTE1YTY5ODU4N2UyODYxNjU3
10
- NWFjOWFkZTk1ZWUwM2YxM2I5YTdiODZjMTZlMjMwZTZlOTc4YmUyYmQ4Yjky
11
- ZjQ4MDJiNjkxZDlmNjQxMmQ5ZjljZjc0NzcyYTJjNzU0NzlmNjU=
9
+ OWVkYTM5OGI2YjBiYjAyYjFlMjczZTA2OTI0MGE0NzZmMDEzZWI0NTM3MDIw
10
+ YzM5ZWE1NjdhODFjOGM1MDg4NmNjYmI1NzY3ZDUwOWVkNWQ1YjE1MDMzYWYx
11
+ MDJhNGM4NThlYmUxZjc4YjRhNjI3NDBmYTA3MzBmNTc4MmQ5NTQ=
12
12
  data.tar.gz: !binary |-
13
- MmFiMTAzMGMwY2M4M2FjZDIyMzM1OTA5NzE3NGE5Yzg4YjFhN2QwYTlmNzYw
14
- ZjVjZTllM2EwMGEyMjc3ZTQ2ZWE0YjMyODAzNzI0NGQ5MGExMWU3M2Y4M2Qw
15
- NWMwYTQyZDhkMTI1ZTdlNTgzMjY3ZWY0YTBlMWE3YjcyM2E2MGM=
13
+ Y2Y5MGJkZmM3YzIxZWZmMjVlZjNkZjUwOTRkNzY1MmNkZTAzZGQ0ZGEzMzhm
14
+ NmNjN2U1NjZlMWNhN2YwOTU3YTBjNGNmYzY4MDIxMDczOTYyY2U0YmRiNmYz
15
+ YjY5YzIyOGFjNDY5Y2QzZGQyMGI2ZWMzODdhZWE4NzFjYmY1Njg=
@@ -0,0 +1,26 @@
1
+ Contributing
2
+ ------------
3
+ Awesome! Here are some guidelines:
4
+ * **Contributions will not be accepted without tests.**
5
+ * If you're creating a small fix or patch to an existing feature, just a simple
6
+ test will do. Please stay in the confines of the current test suite and use
7
+ [RSpec](https://github.com/rspec/rspec).
8
+ * If your contribution changes any behavior, make sure to update the
9
+ documentation.
10
+ * Please follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby)
11
+ when modifying Ruby code.
12
+
13
+ Running the tests
14
+ -----------------
15
+ ```
16
+ rspec spec/*_spec.rb
17
+ ```
18
+
19
+ Basic Steps
20
+ -----------
21
+ * Fork it
22
+ * Create your feature branch (git checkout -b my-new-feature)
23
+ * Commit your changes (git commit -am 'Add some feature')
24
+ * Make sure the tests pass (rspec spec/*_spec.rb)
25
+ * Push to the branch (git push origin my-new-feature)
26
+ * Create new [Pull Request](https://help.github.com/articles/using-pull-requests)
@@ -80,23 +80,20 @@ module RightSignature
80
80
  # :callback_location => "http://yoursite/callback"
81
81
  # })
82
82
  def prefill(guid, subject, roles, options={})
83
+ use_merge_field_ids = options.delete(:use_merge_field_ids)
83
84
  xml_hash = {
84
85
  :template => {
85
86
  :guid => guid,
86
87
  :action => "prefill",
87
88
  :subject => subject
88
- }
89
+ }.merge(options)
89
90
  }
90
91
 
91
92
  xml_hash[:template][:roles] = RolesHelper.array_to_xml_hash(roles)
92
93
 
93
94
  # Optional arguments
94
- use_merge_field_ids = options.delete(:use_merge_field_ids)
95
95
  xml_hash[:template][:merge_fields] = MergeFieldsHelper.array_to_xml_hash(options[:merge_fields], use_merge_field_ids) if options[:merge_fields]
96
96
  xml_hash[:template][:tags] = TagsHelper.array_to_xml_hash(options[:tags]) if options[:tags]
97
- [:expires_in, :description, :callback_location, :redirect_location, :action, :document_data].each do |other_option|
98
- xml_hash[:template][other_option] = options[other_option] if options[other_option]
99
- end
100
97
 
101
98
  post "/api/templates.xml", xml_hash
102
99
  end
@@ -208,16 +205,12 @@ module RightSignature
208
205
  # There will be no free-form name entry when adding merge fields to the Template.
209
206
  # Ex. ["Location", "Tax ID", "Company Name"]
210
207
  def generate_build_url(options={})
211
- xml_hash = {:template => {}}
208
+ xml_hash = {:template => options}
212
209
  xml_hash[:template][:tags] = TagsHelper.array_to_xml_hash(options[:tags]) if options[:tags]
213
210
 
214
211
  [:acceptable_merge_field_names, :acceptable_role_names].each do |option|
215
212
  xml_hash[:template][option] = array_to_acceptable_names_hash(options[option]) if options[option]
216
213
  end
217
-
218
- [:callback_location, :redirect_location].each do |other_option|
219
- xml_hash[:template][other_option] = options[other_option] if options[other_option]
220
- end
221
214
 
222
215
  response = post "/api/templates/generate_build_token.xml", xml_hash
223
216
 
@@ -1,3 +1,3 @@
1
1
  module RightSignature
2
- VERSION = "1.0.6"
2
+ VERSION = "1.0.7"
3
3
  end
@@ -174,6 +174,30 @@ describe RightSignature::Template do
174
174
  })
175
175
  @rs.prefill("MYGUID", "sign me", [], {:expires_in => 15, :description => "Hey, I'm a description", :redirect_location => 'http://example.com/redirectme', :callback_location => "http://example.com/callie", :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"}})
176
176
  end
177
+
178
+ it "should include extra options" do
179
+ @rs.should_receive(:post).with('/api/templates.xml', {
180
+ :template => {
181
+ :guid => "MYGUID",
182
+ :action => "prefill",
183
+ :subject => "sign me",
184
+ :roles => [
185
+ {:role => {
186
+ :name => "John Employee",
187
+ :email => "john@employee.com",
188
+ "@role_id" => "signer_A"
189
+ }}],
190
+ :expires_in => 15,
191
+ :description => "Hey, I'm a description",
192
+ :redirect_location => 'http://example.com/redirectme',
193
+ :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"},
194
+ :callback_location => 'http://example.com/callie',
195
+ :something_else => "else",
196
+ :merge_fields => [{:merge_field => {:value => "123456", "@merge_field_id" => "123_abc_78"}}]
197
+ }
198
+ })
199
+ @rs.prefill("MYGUID", "sign me", [{"signer_A" => {:name => "John Employee", :email => "john@employee.com"}}], {:expires_in => 15, :description => "Hey, I'm a description", :redirect_location => 'http://example.com/redirectme', :callback_location => "http://example.com/callie", :document_data => {:type => 'base64', :filename => "originalfile.pdf", :value => "mOio90cv"}, :merge_fields => [{"123_abc_78" => "123456"}], :use_merge_field_ids => true, :something_else => "else"})
200
+ end
177
201
  end
178
202
 
179
203
  it "should POST /api/templates.xml with action of 'send', MYGUID guid, roles, and \"sign me\" subject in template hash" do
@@ -235,6 +259,29 @@ describe RightSignature::Template do
235
259
 
236
260
  @rs.generate_build_url(:callback_location => "http://example.com/done_signing", :redirect_location => "http://example.com/come_back_here")
237
261
  end
262
+
263
+ it "should include other extra options in params" do
264
+ @rs.should_receive(:post).with("/api/templates/generate_build_token.xml", {:template => {
265
+ :tags =>
266
+ [
267
+ {:tag => {:name => "Site"}}
268
+ ],
269
+ :acceptable_merge_field_names =>
270
+ [
271
+ {:name => "Site ID"},
272
+ {:name => "Starting City"}
273
+ ],
274
+ :acceptable_role_names =>
275
+ [
276
+ {:name => "Http Party"}
277
+ ],
278
+ :callback_location => "http://example.com/done_signing",
279
+ :redirect_location => "http://example.com/come_back_here",
280
+ :extras => "stuff here"
281
+ }}).and_return({"token"=>{"redirect_token" => "REDIRECT_TOKEN"}})
282
+
283
+ @rs.generate_build_url(:tags => ["Site"], :acceptable_merge_field_names => ["Site ID", "Starting City"], :acceptable_role_names => ["Http Party"], :callback_location => "http://example.com/done_signing", :redirect_location => "http://example.com/come_back_here", :extras => "stuff here")
284
+ end
238
285
  end
239
286
  end
240
287
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rightsignature
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Chee
@@ -104,6 +104,7 @@ extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
106
  - .gitignore
107
+ - CONTRIBUTING.md
107
108
  - Gemfile
108
109
  - README.md
109
110
  - Rakefile