docraptor 1.0.0 → 1.4.0

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.
@@ -1,5 +1,13 @@
1
1
  {
2
- "gemName": "docraptor",
3
- "moduleName": "DocRaptor",
4
- "gemVersion": "1.0.0"
2
+ "gemName": "docraptor",
3
+ "moduleName": "DocRaptor",
4
+ "gemVersion": "1.4.0",
5
+ "gemAuthor": "Expected Behavior",
6
+ "gemAuthorEmail": "support@docraptor.com",
7
+ "gemHomepage": "https://github.com/docraptor/docraptor-ruby",
8
+ "gemSummary": "A wrapper for the DocRaptor HTML to PDF/XLS service.",
9
+ "gemDescription": "A native client library for the DocRaptor HTML to PDF/XLS service.",
10
+ "gemLicense": "MIT",
11
+ "hideGenerationTimestamp": true,
12
+ "httpUserAgent": "ruby-swagger-#{VERSION}"
5
13
  }
@@ -8,10 +8,12 @@ end
8
8
 
9
9
  $docraptor = DocRaptor::DocApi.new
10
10
 
11
+ output_file = "ruby-async.pdf"
12
+
11
13
  create_response = $docraptor.create_async_doc(
12
14
  test: true,
13
15
  document_content: "<html><body>Hello from Ruby</body></html>",
14
- name: "ruby-async.pdf",
16
+ name: output_file,
15
17
  document_type: "pdf",
16
18
  )
17
19
 
@@ -22,4 +24,11 @@ status_response = nil
22
24
  sleep 1
23
25
  end
24
26
 
25
- $docraptor.get_async_doc(status_response.download_id)
27
+ output_payload = $docraptor.get_async_doc(status_response.download_id)
28
+
29
+ File.write(output_file, output_payload)
30
+ output_type = `file -b #{output_file}`
31
+ File.delete output_file
32
+
33
+ raise "Output was not a PDF" unless output_type.start_with?("PDF")
34
+
@@ -0,0 +1,50 @@
1
+ require "bundler/setup"
2
+ Bundler.require
3
+ require 'open-uri'
4
+
5
+ api_key = File.read("#{__dir__}/../.docraptor_key").strip
6
+ unless api_key
7
+ raise "Please put a valid (paid plan) api key in the .docraptor_key file when testing this feature."
8
+ end
9
+
10
+ DocRaptor.configure do |dr|
11
+ dr.username = api_key
12
+ # dr.debugging = true
13
+ end
14
+
15
+ $docraptor = DocRaptor::DocApi.new
16
+
17
+ output_file = "expire-hosted-ruby-sync.pdf"
18
+
19
+ output_payload = $docraptor.create_hosted_async_doc(
20
+ test: true,
21
+ document_content: "<html><body>Hello from Ruby</body></html>",
22
+ name: output_file,
23
+ document_type: "pdf",
24
+ hosted_expires_at: (Time.now + 86400).strftime('%FT%T%:z'), # 1 day from now
25
+ )
26
+
27
+ status_response = nil
28
+ 30.times do
29
+ status_response = $docraptor.get_async_doc_status(output_payload.status_id)
30
+ break if status_response.status == "completed"
31
+ sleep 1
32
+ end
33
+
34
+ actual_document = open status_response.download_url
35
+ IO.copy_stream(actual_document, output_file)
36
+
37
+ output_type = `file -b #{output_file}`
38
+ File.delete output_file
39
+
40
+ raise "Output was not a PDF" unless output_type.start_with?("PDF")
41
+
42
+ $docraptor.expire(status_response.download_id)
43
+
44
+ begin
45
+ actual_document = open status_response.download_url
46
+ rescue OpenURI::HTTPError => http_error
47
+ exit 0
48
+ end
49
+
50
+ exit 1
@@ -0,0 +1,34 @@
1
+ require "bundler/setup"
2
+ Bundler.require
3
+ require "open-uri"
4
+
5
+ api_key = File.read("#{__dir__}/../.docraptor_key").strip
6
+ unless api_key
7
+ raise "Please put a valid (paid plan) api key in the .docraptor_key file when testing this feature."
8
+ end
9
+
10
+ DocRaptor.configure do |dr|
11
+ dr.username = api_key
12
+ # dr.debugging = true
13
+ end
14
+
15
+ $docraptor = DocRaptor::DocApi.new
16
+
17
+ output_file = "hosted-ruby-sync.pdf"
18
+
19
+ output_payload = $docraptor.create_hosted_async_doc(
20
+ test: true,
21
+ document_content: "<html><body>Hello from Ruby</body></html>",
22
+ name: output_file,
23
+ document_type: "pdf",
24
+ hosted_expires_at: (Time.now + 86400).strftime('%FT%T%:z'), # 1 day from now
25
+ )
26
+
27
+ status_response = nil
28
+ 30.times do
29
+ status_response = $docraptor.get_async_doc_status(output_payload.status_id)
30
+ break if status_response.status == "completed"
31
+ sleep 1
32
+ end
33
+
34
+
@@ -0,0 +1,33 @@
1
+ require "bundler/setup"
2
+ Bundler.require
3
+ require "open-uri"
4
+
5
+ api_key = File.read("#{__dir__}/../.docraptor_key").strip
6
+ unless api_key
7
+ raise "Please put a valid (paid plan) api key in the .docraptor_key file when testing this feature."
8
+ end
9
+
10
+ DocRaptor.configure do |dr|
11
+ dr.username = api_key
12
+ # dr.debugging = true
13
+ end
14
+
15
+ $docraptor = DocRaptor::DocApi.new
16
+
17
+ output_file = "hosted-ruby-sync.pdf"
18
+
19
+ output_payload = $docraptor.create_hosted_doc(
20
+ test: true,
21
+ document_content: "<html><body>Hello from Ruby</body></html>",
22
+ name: output_file,
23
+ document_type: "pdf",
24
+ hosted_expires_at: (Time.now + 86400).strftime('%FT%T%:z'), # 1 day from now
25
+ )
26
+
27
+ actual_document = open output_payload.download_url
28
+ IO.copy_stream(actual_document, output_file)
29
+
30
+ output_type = `file -b #{output_file}`
31
+ File.delete output_file
32
+
33
+ raise "Output was not a PDF" unless output_type.start_with?("PDF")
@@ -8,9 +8,17 @@ end
8
8
 
9
9
  $docraptor = DocRaptor::DocApi.new
10
10
 
11
- $docraptor.create_doc(
11
+ output_file = "ruby-sync.pdf"
12
+
13
+ output_payload = $docraptor.create_doc(
12
14
  test: true,
13
15
  document_content: "<html><body>Hello from Ruby</body></html>",
14
- name: "ruby-sync.pdf",
16
+ name: output_file,
15
17
  document_type: "pdf",
16
18
  )
19
+
20
+ File.write(output_file, output_payload)
21
+ output_type = `file -b #{output_file}`
22
+ File.delete output_file
23
+
24
+ raise "Output was not a PDF" unless output_type.start_with?("PDF")
@@ -8,9 +8,17 @@ end
8
8
 
9
9
  $docraptor = DocRaptor::DocApi.new
10
10
 
11
- $docraptor.create_doc(
11
+ output_file = "ruby-xlsx.xlsx"
12
+
13
+ output_payload = $docraptor.create_doc(
12
14
  test: true,
13
15
  document_content: "<html><body><table><tr><td>Hello from Ruby</td></tr></table></body></html>",
14
- name: "ruby-xlsx.xlsx",
16
+ name: output_file,
15
17
  document_type: "xlsx",
16
18
  )
19
+
20
+ File.write(output_file, output_payload)
21
+ output_type = `file -b #{output_file}`
22
+ File.delete output_file
23
+
24
+ raise "Output was not an XLSX (zip)" unless output_type.start_with?("Zip")
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docraptor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
- - Elijah Miller
8
- - Matthew Gordon
9
- autorequire:
7
+ - Expected Behavior
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-10-18 00:00:00.000000000 Z
11
+ date: 2020-07-31 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: typhoeus
@@ -17,229 +16,231 @@ dependencies:
17
16
  requirements:
18
17
  - - "~>"
19
18
  - !ruby/object:Gem::Version
20
- version: '0.2'
19
+ version: '1.0'
21
20
  - - ">="
22
21
  - !ruby/object:Gem::Version
23
- version: 0.2.1
22
+ version: 1.0.1
24
23
  type: :runtime
25
24
  prerelease: false
26
25
  version_requirements: !ruby/object:Gem::Requirement
27
26
  requirements:
28
27
  - - "~>"
29
28
  - !ruby/object:Gem::Version
30
- version: '0.2'
29
+ version: '1.0'
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: 0.2.1
32
+ version: 1.0.1
34
33
  - !ruby/object:Gem::Dependency
35
34
  name: json
36
35
  requirement: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '1.4'
41
37
  - - ">="
42
38
  - !ruby/object:Gem::Version
43
- version: 1.4.6
39
+ version: 2.1.0
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.1'
44
43
  type: :runtime
45
44
  prerelease: false
46
45
  version_requirements: !ruby/object:Gem::Requirement
47
46
  requirements:
48
- - - "~>"
49
- - !ruby/object:Gem::Version
50
- version: '1.4'
51
47
  - - ">="
52
48
  - !ruby/object:Gem::Version
53
- version: 1.4.6
49
+ version: 2.1.0
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '2.1'
54
53
  - !ruby/object:Gem::Dependency
55
- name: pry
54
+ name: rspec
56
55
  requirement: !ruby/object:Gem::Requirement
57
56
  requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '0.10'
61
57
  - - ">="
62
58
  - !ruby/object:Gem::Version
63
- version: 0.10.3
59
+ version: 3.6.0
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '3.6'
64
63
  type: :development
65
64
  prerelease: false
66
65
  version_requirements: !ruby/object:Gem::Requirement
67
66
  requirements:
68
- - - "~>"
69
- - !ruby/object:Gem::Version
70
- version: '0.10'
71
67
  - - ">="
72
68
  - !ruby/object:Gem::Version
73
- version: 0.10.3
69
+ version: 3.6.0
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '3.6'
74
73
  - !ruby/object:Gem::Dependency
75
- name: rake
74
+ name: vcr
76
75
  requirement: !ruby/object:Gem::Requirement
77
76
  requirements:
78
77
  - - "~>"
79
78
  - !ruby/object:Gem::Version
80
- version: '10.4'
79
+ version: '3.0'
81
80
  - - ">="
82
81
  - !ruby/object:Gem::Version
83
- version: 10.4.2
82
+ version: 3.0.1
84
83
  type: :development
85
84
  prerelease: false
86
85
  version_requirements: !ruby/object:Gem::Requirement
87
86
  requirements:
88
87
  - - "~>"
89
88
  - !ruby/object:Gem::Version
90
- version: '10.4'
89
+ version: '3.0'
91
90
  - - ">="
92
91
  - !ruby/object:Gem::Version
93
- version: 10.4.2
92
+ version: 3.0.1
94
93
  - !ruby/object:Gem::Dependency
95
- name: rspec
94
+ name: webmock
96
95
  requirement: !ruby/object:Gem::Requirement
97
96
  requirements:
98
97
  - - "~>"
99
98
  - !ruby/object:Gem::Version
100
- version: '3.2'
99
+ version: '1.24'
101
100
  - - ">="
102
101
  - !ruby/object:Gem::Version
103
- version: 3.2.0
102
+ version: 1.24.3
104
103
  type: :development
105
104
  prerelease: false
106
105
  version_requirements: !ruby/object:Gem::Requirement
107
106
  requirements:
108
107
  - - "~>"
109
108
  - !ruby/object:Gem::Version
110
- version: '3.2'
109
+ version: '1.24'
111
110
  - - ">="
112
111
  - !ruby/object:Gem::Version
113
- version: 3.2.0
112
+ version: 1.24.3
114
113
  - !ruby/object:Gem::Dependency
115
- name: vcr
114
+ name: autotest
116
115
  requirement: !ruby/object:Gem::Requirement
117
116
  requirements:
118
117
  - - "~>"
119
118
  - !ruby/object:Gem::Version
120
- version: '2.9'
119
+ version: '4.4'
121
120
  - - ">="
122
121
  - !ruby/object:Gem::Version
123
- version: 2.9.3
122
+ version: 4.4.6
124
123
  type: :development
125
124
  prerelease: false
126
125
  version_requirements: !ruby/object:Gem::Requirement
127
126
  requirements:
128
127
  - - "~>"
129
128
  - !ruby/object:Gem::Version
130
- version: '2.9'
129
+ version: '4.4'
131
130
  - - ">="
132
131
  - !ruby/object:Gem::Version
133
- version: 2.9.3
132
+ version: 4.4.6
134
133
  - !ruby/object:Gem::Dependency
135
- name: webmock
134
+ name: autotest-rails-pure
136
135
  requirement: !ruby/object:Gem::Requirement
137
136
  requirements:
138
137
  - - "~>"
139
138
  - !ruby/object:Gem::Version
140
- version: '1.6'
139
+ version: '4.1'
141
140
  - - ">="
142
141
  - !ruby/object:Gem::Version
143
- version: 1.6.2
142
+ version: 4.1.2
144
143
  type: :development
145
144
  prerelease: false
146
145
  version_requirements: !ruby/object:Gem::Requirement
147
146
  requirements:
148
147
  - - "~>"
149
148
  - !ruby/object:Gem::Version
150
- version: '1.6'
149
+ version: '4.1'
151
150
  - - ">="
152
151
  - !ruby/object:Gem::Version
153
- version: 1.6.2
152
+ version: 4.1.2
154
153
  - !ruby/object:Gem::Dependency
155
- name: autotest
154
+ name: autotest-growl
156
155
  requirement: !ruby/object:Gem::Requirement
157
156
  requirements:
158
157
  - - "~>"
159
158
  - !ruby/object:Gem::Version
160
- version: '4.4'
159
+ version: '0.2'
161
160
  - - ">="
162
161
  - !ruby/object:Gem::Version
163
- version: 4.4.6
162
+ version: 0.2.16
164
163
  type: :development
165
164
  prerelease: false
166
165
  version_requirements: !ruby/object:Gem::Requirement
167
166
  requirements:
168
167
  - - "~>"
169
168
  - !ruby/object:Gem::Version
170
- version: '4.4'
169
+ version: '0.2'
171
170
  - - ">="
172
171
  - !ruby/object:Gem::Version
173
- version: 4.4.6
172
+ version: 0.2.16
174
173
  - !ruby/object:Gem::Dependency
175
- name: autotest-rails-pure
174
+ name: autotest-fsevent
176
175
  requirement: !ruby/object:Gem::Requirement
177
176
  requirements:
178
177
  - - "~>"
179
178
  - !ruby/object:Gem::Version
180
- version: '4.1'
179
+ version: '0.2'
181
180
  - - ">="
182
181
  - !ruby/object:Gem::Version
183
- version: 4.1.2
182
+ version: 0.2.12
184
183
  type: :development
185
184
  prerelease: false
186
185
  version_requirements: !ruby/object:Gem::Requirement
187
186
  requirements:
188
187
  - - "~>"
189
188
  - !ruby/object:Gem::Version
190
- version: '4.1'
189
+ version: '0.2'
191
190
  - - ">="
192
191
  - !ruby/object:Gem::Version
193
- version: 4.1.2
192
+ version: 0.2.12
194
193
  - !ruby/object:Gem::Dependency
195
- name: autotest-growl
194
+ name: rake
196
195
  requirement: !ruby/object:Gem::Requirement
197
196
  requirements:
198
197
  - - "~>"
199
198
  - !ruby/object:Gem::Version
200
- version: '0.2'
199
+ version: '11.2'
201
200
  - - ">="
202
201
  - !ruby/object:Gem::Version
203
- version: 0.2.16
202
+ version: 11.2.2
204
203
  type: :development
205
204
  prerelease: false
206
205
  version_requirements: !ruby/object:Gem::Requirement
207
206
  requirements:
208
207
  - - "~>"
209
208
  - !ruby/object:Gem::Version
210
- version: '0.2'
209
+ version: '11.2'
211
210
  - - ">="
212
211
  - !ruby/object:Gem::Version
213
- version: 0.2.16
212
+ version: 11.2.2
214
213
  - !ruby/object:Gem::Dependency
215
- name: autotest-fsevent
214
+ name: pry
216
215
  requirement: !ruby/object:Gem::Requirement
217
216
  requirements:
218
217
  - - "~>"
219
218
  - !ruby/object:Gem::Version
220
- version: '0.2'
219
+ version: '0.10'
221
220
  - - ">="
222
221
  - !ruby/object:Gem::Version
223
- version: 0.2.11
222
+ version: 0.10.4
224
223
  type: :development
225
224
  prerelease: false
226
225
  version_requirements: !ruby/object:Gem::Requirement
227
226
  requirements:
228
227
  - - "~>"
229
228
  - !ruby/object:Gem::Version
230
- version: '0.2'
229
+ version: '0.10'
231
230
  - - ">="
232
231
  - !ruby/object:Gem::Version
233
- version: 0.2.11
232
+ version: 0.10.4
234
233
  description: A native client library for the DocRaptor HTML to PDF/XLS service.
235
234
  email:
236
- - elijah@expectedbehavior.com
237
- - matt@expectedbehavior.com
235
+ - support@docraptor.com
238
236
  executables: []
239
237
  extensions: []
240
238
  extra_rdoc_files: []
241
239
  files:
242
240
  - ".gitignore"
241
+ - ".rspec"
242
+ - ".swagger-codegen-ignore"
243
+ - ".swagger-codegen/VERSION"
243
244
  - ".swagger-revision"
244
245
  - CHANGELOG.md
245
246
  - Gemfile
@@ -249,6 +250,8 @@ files:
249
250
  - docraptor.gemspec
250
251
  - docraptor.yaml
251
252
  - examples/async.rb
253
+ - examples/hosted_async.rb
254
+ - examples/hosted_sync.rb
252
255
  - examples/sync.rb
253
256
  - lib/docraptor.rb
254
257
  - lib/docraptor/api/doc_api.rb
@@ -256,27 +259,34 @@ files:
256
259
  - lib/docraptor/api_error.rb
257
260
  - lib/docraptor/configuration.rb
258
261
  - lib/docraptor/models/async_doc.rb
259
- - lib/docraptor/models/async_doc_status.rb
260
262
  - lib/docraptor/models/doc.rb
263
+ - lib/docraptor/models/doc_status.rb
261
264
  - lib/docraptor/models/prince_options.rb
262
265
  - lib/docraptor/version.rb
263
266
  - script/clean
267
+ - script/fix_gemspec.rb
264
268
  - script/generate_language
265
269
  - script/post_generate_language
266
270
  - script/swagger
267
271
  - script/test
268
272
  - script/update_from_upstream
273
+ - spec/api_client_spec.rb
274
+ - spec/configuration_spec.rb
275
+ - spec/spec_helper.rb
269
276
  - swagger-config.json
270
277
  - test/async.rb
278
+ - test/expire_hosted.rb
279
+ - test/hosted_async.rb
280
+ - test/hosted_sync.rb
271
281
  - test/invalid_async.rb
272
282
  - test/invalid_sync.rb
273
283
  - test/sync.rb
274
284
  - test/xlsx.rb
275
285
  homepage: https://github.com/docraptor/docraptor-ruby
276
286
  licenses:
277
- - Apache-2.0
287
+ - MIT
278
288
  metadata: {}
279
- post_install_message:
289
+ post_install_message:
280
290
  rdoc_options: []
281
291
  require_paths:
282
292
  - lib
@@ -284,16 +294,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
284
294
  requirements:
285
295
  - - ">="
286
296
  - !ruby/object:Gem::Version
287
- version: '0'
297
+ version: '1.9'
288
298
  required_rubygems_version: !ruby/object:Gem::Requirement
289
299
  requirements:
290
300
  - - ">="
291
301
  - !ruby/object:Gem::Version
292
302
  version: '0'
293
303
  requirements: []
294
- rubyforge_project:
295
- rubygems_version: 2.5.1
296
- signing_key:
304
+ rubygems_version: 3.0.3
305
+ signing_key:
297
306
  specification_version: 4
298
307
  summary: A wrapper for the DocRaptor HTML to PDF/XLS service.
299
- test_files: []
308
+ test_files:
309
+ - spec/api_client_spec.rb
310
+ - spec/configuration_spec.rb
311
+ - spec/spec_helper.rb
312
+ - test/async.rb
313
+ - test/expire_hosted.rb
314
+ - test/hosted_async.rb
315
+ - test/hosted_sync.rb
316
+ - test/invalid_async.rb
317
+ - test/invalid_sync.rb
318
+ - test/sync.rb
319
+ - test/xlsx.rb