docraptor 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.gitignore +42 -2
- data/.rspec +2 -0
- data/.swagger-codegen-ignore +32 -0
- data/.swagger-codegen/VERSION +1 -0
- data/.swagger-revision +1 -1
- data/.travis.yml +9 -0
- data/CHANGELOG.md +17 -0
- data/Gemfile +5 -1
- data/LICENSE +4 -10
- data/README.md +11 -17
- data/Rakefile +9 -0
- data/docraptor.gemspec +36 -17
- data/docraptor.yaml +129 -20
- data/examples/hosted_async.rb +75 -0
- data/examples/hosted_sync.rb +62 -0
- data/lib/docraptor.rb +13 -1
- data/lib/docraptor/api/doc_api.rb +202 -81
- data/lib/docraptor/api_client.rb +112 -43
- data/lib/docraptor/api_error.rb +19 -5
- data/lib/docraptor/configuration.rb +43 -4
- data/lib/docraptor/models/async_doc.rb +60 -25
- data/lib/docraptor/models/doc.rb +164 -69
- data/lib/docraptor/models/{async_doc_status.rb → doc_status.rb} +66 -36
- data/lib/docraptor/models/prince_options.rb +132 -90
- data/lib/docraptor/version.rb +13 -1
- data/script/fix_gemspec.rb +40 -0
- data/script/post_generate_language +3 -0
- data/script/setup +25 -0
- data/script/swagger +6 -1
- data/script/test +38 -7
- data/spec/api_client_spec.rb +243 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/spec_helper.rb +111 -0
- data/swagger-config.json +11 -3
- data/test/async.rb +11 -2
- data/test/expire_hosted.rb +45 -0
- data/test/hosted_async.rb +29 -0
- data/test/hosted_sync.rb +28 -0
- data/test/sync.rb +10 -2
- data/test/xlsx.rb +10 -2
- metadata +149 -107
@@ -1,3 +1,15 @@
|
|
1
|
+
=begin
|
2
|
+
#DocRaptor
|
3
|
+
|
4
|
+
#A native client library for the DocRaptor HTML to PDF/XLS service.
|
5
|
+
|
6
|
+
OpenAPI spec version: 1.4.0
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.19
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
1
13
|
require 'date'
|
2
14
|
|
3
15
|
module DocRaptor
|
@@ -77,7 +89,7 @@ module DocRaptor
|
|
77
89
|
# Specify the input format.
|
78
90
|
attr_accessor :input
|
79
91
|
|
80
|
-
# Specify a specific verison of PrinceXML to use.
|
92
|
+
# Deprecated, use the appropriate `pipeline` version. Specify a specific verison of PrinceXML to use.
|
81
93
|
attr_accessor :version
|
82
94
|
|
83
95
|
# Enable PrinceXML JavaScript. DocRaptor JavaScript parsing is also available elsewhere.
|
@@ -89,68 +101,64 @@ module DocRaptor
|
|
89
101
|
# In Prince 9.0 and up you can set the PDF profile.
|
90
102
|
attr_accessor :profile
|
91
103
|
|
104
|
+
# Specify the PDF title, part of the document's metadata.
|
105
|
+
attr_accessor :pdf_title
|
106
|
+
|
107
|
+
class EnumAttributeValidator
|
108
|
+
attr_reader :datatype
|
109
|
+
attr_reader :allowable_values
|
110
|
+
|
111
|
+
def initialize(datatype, allowable_values)
|
112
|
+
@allowable_values = allowable_values.map do |value|
|
113
|
+
case datatype.to_s
|
114
|
+
when /Integer/i
|
115
|
+
value.to_i
|
116
|
+
when /Float/i
|
117
|
+
value.to_f
|
118
|
+
else
|
119
|
+
value
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
def valid?(value)
|
125
|
+
!value || allowable_values.include?(value)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
92
129
|
# Attribute mapping from ruby-style variable name to JSON key.
|
93
130
|
def self.attribute_map
|
94
131
|
{
|
95
|
-
|
96
132
|
:'baseurl' => :'baseurl',
|
97
|
-
|
98
133
|
:'no_xinclude' => :'no_xinclude',
|
99
|
-
|
100
134
|
:'no_network' => :'no_network',
|
101
|
-
|
102
135
|
:'no_parallel_downloads' => :'no_parallel_downloads',
|
103
|
-
|
104
136
|
:'http_user' => :'http_user',
|
105
|
-
|
106
137
|
:'http_password' => :'http_password',
|
107
|
-
|
108
138
|
:'http_proxy' => :'http_proxy',
|
109
|
-
|
110
139
|
:'http_timeout' => :'http_timeout',
|
111
|
-
|
112
140
|
:'insecure' => :'insecure',
|
113
|
-
|
114
141
|
:'media' => :'media',
|
115
|
-
|
116
142
|
:'no_author_style' => :'no_author_style',
|
117
|
-
|
118
143
|
:'no_default_style' => :'no_default_style',
|
119
|
-
|
120
144
|
:'no_embed_fonts' => :'no_embed_fonts',
|
121
|
-
|
122
145
|
:'no_subset_fonts' => :'no_subset_fonts',
|
123
|
-
|
124
146
|
:'no_compress' => :'no_compress',
|
125
|
-
|
126
147
|
:'encrypt' => :'encrypt',
|
127
|
-
|
128
148
|
:'key_bits' => :'key_bits',
|
129
|
-
|
130
149
|
:'user_password' => :'user_password',
|
131
|
-
|
132
150
|
:'owner_password' => :'owner_password',
|
133
|
-
|
134
151
|
:'disallow_print' => :'disallow_print',
|
135
|
-
|
136
152
|
:'disallow_copy' => :'disallow_copy',
|
137
|
-
|
138
153
|
:'disallow_annotate' => :'disallow_annotate',
|
139
|
-
|
140
154
|
:'disallow_modify' => :'disallow_modify',
|
141
|
-
|
142
155
|
:'debug' => :'debug',
|
143
|
-
|
144
156
|
:'input' => :'input',
|
145
|
-
|
146
157
|
:'version' => :'version',
|
147
|
-
|
148
158
|
:'javascript' => :'javascript',
|
149
|
-
|
150
159
|
:'css_dpi' => :'css_dpi',
|
151
|
-
|
152
|
-
:'
|
153
|
-
|
160
|
+
:'profile' => :'profile',
|
161
|
+
:'pdf_title' => :'pdf_title'
|
154
162
|
}
|
155
163
|
end
|
156
164
|
|
@@ -185,150 +193,171 @@ module DocRaptor
|
|
185
193
|
:'version' => :'String',
|
186
194
|
:'javascript' => :'BOOLEAN',
|
187
195
|
:'css_dpi' => :'Integer',
|
188
|
-
:'profile' => :'String'
|
189
|
-
|
196
|
+
:'profile' => :'String',
|
197
|
+
:'pdf_title' => :'String'
|
190
198
|
}
|
191
199
|
end
|
192
200
|
|
201
|
+
# Initializes the object
|
202
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
193
203
|
def initialize(attributes = {})
|
194
204
|
return unless attributes.is_a?(Hash)
|
195
205
|
|
196
206
|
# convert string to symbol for hash key
|
197
|
-
attributes = attributes.
|
207
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
198
208
|
|
199
|
-
|
200
|
-
if attributes[:'baseurl']
|
209
|
+
if attributes.has_key?(:'baseurl')
|
201
210
|
self.baseurl = attributes[:'baseurl']
|
202
211
|
end
|
203
212
|
|
204
|
-
if attributes
|
213
|
+
if attributes.has_key?(:'no_xinclude')
|
205
214
|
self.no_xinclude = attributes[:'no_xinclude']
|
206
215
|
end
|
207
216
|
|
208
|
-
if attributes
|
217
|
+
if attributes.has_key?(:'no_network')
|
209
218
|
self.no_network = attributes[:'no_network']
|
210
219
|
end
|
211
220
|
|
212
|
-
if attributes
|
221
|
+
if attributes.has_key?(:'no_parallel_downloads')
|
213
222
|
self.no_parallel_downloads = attributes[:'no_parallel_downloads']
|
214
223
|
end
|
215
224
|
|
216
|
-
if attributes
|
225
|
+
if attributes.has_key?(:'http_user')
|
217
226
|
self.http_user = attributes[:'http_user']
|
218
227
|
end
|
219
228
|
|
220
|
-
if attributes
|
229
|
+
if attributes.has_key?(:'http_password')
|
221
230
|
self.http_password = attributes[:'http_password']
|
222
231
|
end
|
223
232
|
|
224
|
-
if attributes
|
233
|
+
if attributes.has_key?(:'http_proxy')
|
225
234
|
self.http_proxy = attributes[:'http_proxy']
|
226
235
|
end
|
227
236
|
|
228
|
-
if attributes
|
237
|
+
if attributes.has_key?(:'http_timeout')
|
229
238
|
self.http_timeout = attributes[:'http_timeout']
|
230
239
|
end
|
231
240
|
|
232
|
-
if attributes
|
241
|
+
if attributes.has_key?(:'insecure')
|
233
242
|
self.insecure = attributes[:'insecure']
|
234
243
|
end
|
235
244
|
|
236
|
-
if attributes
|
245
|
+
if attributes.has_key?(:'media')
|
237
246
|
self.media = attributes[:'media']
|
238
247
|
else
|
239
|
-
self.media =
|
248
|
+
self.media = 'print'
|
240
249
|
end
|
241
250
|
|
242
|
-
if attributes
|
251
|
+
if attributes.has_key?(:'no_author_style')
|
243
252
|
self.no_author_style = attributes[:'no_author_style']
|
244
253
|
end
|
245
254
|
|
246
|
-
if attributes
|
255
|
+
if attributes.has_key?(:'no_default_style')
|
247
256
|
self.no_default_style = attributes[:'no_default_style']
|
248
257
|
end
|
249
258
|
|
250
|
-
if attributes
|
259
|
+
if attributes.has_key?(:'no_embed_fonts')
|
251
260
|
self.no_embed_fonts = attributes[:'no_embed_fonts']
|
252
261
|
end
|
253
262
|
|
254
|
-
if attributes
|
263
|
+
if attributes.has_key?(:'no_subset_fonts')
|
255
264
|
self.no_subset_fonts = attributes[:'no_subset_fonts']
|
256
265
|
end
|
257
266
|
|
258
|
-
if attributes
|
267
|
+
if attributes.has_key?(:'no_compress')
|
259
268
|
self.no_compress = attributes[:'no_compress']
|
260
269
|
end
|
261
270
|
|
262
|
-
if attributes
|
271
|
+
if attributes.has_key?(:'encrypt')
|
263
272
|
self.encrypt = attributes[:'encrypt']
|
264
273
|
end
|
265
274
|
|
266
|
-
if attributes
|
275
|
+
if attributes.has_key?(:'key_bits')
|
267
276
|
self.key_bits = attributes[:'key_bits']
|
268
277
|
end
|
269
278
|
|
270
|
-
if attributes
|
279
|
+
if attributes.has_key?(:'user_password')
|
271
280
|
self.user_password = attributes[:'user_password']
|
272
281
|
end
|
273
282
|
|
274
|
-
if attributes
|
283
|
+
if attributes.has_key?(:'owner_password')
|
275
284
|
self.owner_password = attributes[:'owner_password']
|
276
285
|
end
|
277
286
|
|
278
|
-
if attributes
|
287
|
+
if attributes.has_key?(:'disallow_print')
|
279
288
|
self.disallow_print = attributes[:'disallow_print']
|
280
289
|
end
|
281
290
|
|
282
|
-
if attributes
|
291
|
+
if attributes.has_key?(:'disallow_copy')
|
283
292
|
self.disallow_copy = attributes[:'disallow_copy']
|
284
293
|
end
|
285
294
|
|
286
|
-
if attributes
|
295
|
+
if attributes.has_key?(:'disallow_annotate')
|
287
296
|
self.disallow_annotate = attributes[:'disallow_annotate']
|
288
297
|
end
|
289
298
|
|
290
|
-
if attributes
|
299
|
+
if attributes.has_key?(:'disallow_modify')
|
291
300
|
self.disallow_modify = attributes[:'disallow_modify']
|
292
301
|
end
|
293
302
|
|
294
|
-
if attributes
|
303
|
+
if attributes.has_key?(:'debug')
|
295
304
|
self.debug = attributes[:'debug']
|
296
305
|
end
|
297
306
|
|
298
|
-
if attributes
|
307
|
+
if attributes.has_key?(:'input')
|
299
308
|
self.input = attributes[:'input']
|
300
309
|
else
|
301
|
-
self.input =
|
310
|
+
self.input = 'html'
|
302
311
|
end
|
303
312
|
|
304
|
-
if attributes
|
313
|
+
if attributes.has_key?(:'version')
|
305
314
|
self.version = attributes[:'version']
|
306
315
|
end
|
307
316
|
|
308
|
-
if attributes
|
317
|
+
if attributes.has_key?(:'javascript')
|
309
318
|
self.javascript = attributes[:'javascript']
|
310
319
|
end
|
311
320
|
|
312
|
-
if attributes
|
321
|
+
if attributes.has_key?(:'css_dpi')
|
313
322
|
self.css_dpi = attributes[:'css_dpi']
|
314
323
|
end
|
315
324
|
|
316
|
-
if attributes
|
325
|
+
if attributes.has_key?(:'profile')
|
317
326
|
self.profile = attributes[:'profile']
|
318
327
|
end
|
319
328
|
|
329
|
+
if attributes.has_key?(:'pdf_title')
|
330
|
+
self.pdf_title = attributes[:'pdf_title']
|
331
|
+
end
|
332
|
+
end
|
333
|
+
|
334
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
335
|
+
# @return Array for valid properties with the reasons
|
336
|
+
def list_invalid_properties
|
337
|
+
invalid_properties = Array.new
|
338
|
+
invalid_properties
|
339
|
+
end
|
340
|
+
|
341
|
+
# Check to see if the all the properties in the model are valid
|
342
|
+
# @return true if the model is valid
|
343
|
+
def valid?
|
344
|
+
input_validator = EnumAttributeValidator.new('String', ['html', 'xml', 'auto'])
|
345
|
+
return false unless input_validator.valid?(@input)
|
346
|
+
true
|
320
347
|
end
|
321
348
|
|
322
349
|
# Custom attribute writer method checking allowed values (enum).
|
350
|
+
# @param [Object] input Object to be assigned
|
323
351
|
def input=(input)
|
324
|
-
|
325
|
-
|
326
|
-
fail
|
352
|
+
validator = EnumAttributeValidator.new('String', ['html', 'xml', 'auto'])
|
353
|
+
unless validator.valid?(input)
|
354
|
+
fail ArgumentError, 'invalid value for "input", must be one of #{validator.allowable_values}.'
|
327
355
|
end
|
328
356
|
@input = input
|
329
357
|
end
|
330
358
|
|
331
|
-
#
|
359
|
+
# Checks equality by comparing each attribute.
|
360
|
+
# @param [Object] Object to be compared
|
332
361
|
def ==(o)
|
333
362
|
return true if self.equal?(o)
|
334
363
|
self.class == o.class &&
|
@@ -360,39 +389,46 @@ module DocRaptor
|
|
360
389
|
version == o.version &&
|
361
390
|
javascript == o.javascript &&
|
362
391
|
css_dpi == o.css_dpi &&
|
363
|
-
profile == o.profile
|
392
|
+
profile == o.profile &&
|
393
|
+
pdf_title == o.pdf_title
|
364
394
|
end
|
365
395
|
|
366
396
|
# @see the `==` method
|
397
|
+
# @param [Object] Object to be compared
|
367
398
|
def eql?(o)
|
368
399
|
self == o
|
369
400
|
end
|
370
401
|
|
371
|
-
#
|
402
|
+
# Calculates hash code according to all attributes.
|
403
|
+
# @return [Fixnum] Hash code
|
372
404
|
def hash
|
373
|
-
[baseurl, no_xinclude, no_network, no_parallel_downloads, http_user, http_password, http_proxy, http_timeout, insecure, media, no_author_style, no_default_style, no_embed_fonts, no_subset_fonts, no_compress, encrypt, key_bits, user_password, owner_password, disallow_print, disallow_copy, disallow_annotate, disallow_modify, debug, input, version, javascript, css_dpi, profile].hash
|
405
|
+
[baseurl, no_xinclude, no_network, no_parallel_downloads, http_user, http_password, http_proxy, http_timeout, insecure, media, no_author_style, no_default_style, no_embed_fonts, no_subset_fonts, no_compress, encrypt, key_bits, user_password, owner_password, disallow_print, disallow_copy, disallow_annotate, disallow_modify, debug, input, version, javascript, css_dpi, profile, pdf_title].hash
|
374
406
|
end
|
375
407
|
|
376
|
-
#
|
408
|
+
# Builds the object from hash
|
409
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
410
|
+
# @return [Object] Returns the model itself
|
377
411
|
def build_from_hash(attributes)
|
378
412
|
return nil unless attributes.is_a?(Hash)
|
379
413
|
self.class.swagger_types.each_pair do |key, type|
|
380
|
-
if type =~
|
414
|
+
if type =~ /\AArray<(.*)>/i
|
415
|
+
# check to ensure the input is an array given that the attribute
|
416
|
+
# is documented as an array but the input is not
|
381
417
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
382
|
-
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) }
|
383
|
-
else
|
384
|
-
#TODO show warning in debug mode
|
418
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
385
419
|
end
|
386
420
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
387
421
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
388
|
-
else
|
389
|
-
# data not found in attributes(hash), not an issue as the data can be optional
|
390
|
-
end
|
422
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
391
423
|
end
|
392
424
|
|
393
425
|
self
|
394
426
|
end
|
395
427
|
|
428
|
+
# Deserializes the data based on type
|
429
|
+
# @param string type Data type
|
430
|
+
# @param string value Value to be deserialized
|
431
|
+
# @return [Object] Deserialized data
|
396
432
|
def _deserialize(type, value)
|
397
433
|
case type.to_sym
|
398
434
|
when :DateTime
|
@@ -406,7 +442,7 @@ module DocRaptor
|
|
406
442
|
when :Float
|
407
443
|
value.to_f
|
408
444
|
when :BOOLEAN
|
409
|
-
if value.to_s =~
|
445
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
410
446
|
true
|
411
447
|
else
|
412
448
|
false
|
@@ -417,7 +453,7 @@ module DocRaptor
|
|
417
453
|
when /\AArray<(?<inner_type>.+)>\z/
|
418
454
|
inner_type = Regexp.last_match[:inner_type]
|
419
455
|
value.map { |v| _deserialize(inner_type, v) }
|
420
|
-
when /\AHash<(?<k_type
|
456
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
421
457
|
k_type = Regexp.last_match[:k_type]
|
422
458
|
v_type = Regexp.last_match[:v_type]
|
423
459
|
{}.tap do |hash|
|
@@ -426,21 +462,25 @@ module DocRaptor
|
|
426
462
|
end
|
427
463
|
end
|
428
464
|
else # model
|
429
|
-
|
430
|
-
|
465
|
+
temp_model = DocRaptor.const_get(type).new
|
466
|
+
temp_model.build_from_hash(value)
|
431
467
|
end
|
432
468
|
end
|
433
469
|
|
470
|
+
# Returns the string representation of the object
|
471
|
+
# @return [String] String presentation of the object
|
434
472
|
def to_s
|
435
473
|
to_hash.to_s
|
436
474
|
end
|
437
475
|
|
438
|
-
# to_body is an alias to
|
476
|
+
# to_body is an alias to to_hash (backward compatibility)
|
477
|
+
# @return [Hash] Returns the object in the form of hash
|
439
478
|
def to_body
|
440
479
|
to_hash
|
441
480
|
end
|
442
481
|
|
443
|
-
#
|
482
|
+
# Returns the object in the form of hash
|
483
|
+
# @return [Hash] Returns the object in the form of hash
|
444
484
|
def to_hash
|
445
485
|
hash = {}
|
446
486
|
self.class.attribute_map.each_pair do |attr, param|
|
@@ -451,11 +491,13 @@ module DocRaptor
|
|
451
491
|
hash
|
452
492
|
end
|
453
493
|
|
454
|
-
#
|
494
|
+
# Outputs non-array value in the form of hash
|
455
495
|
# For object, use to_hash. Otherwise, just return the value
|
496
|
+
# @param [Object] value Any valid value
|
497
|
+
# @return [Hash] Returns the value in the form of hash
|
456
498
|
def _to_hash(value)
|
457
499
|
if value.is_a?(Array)
|
458
|
-
value.compact.map{ |v| _to_hash(v) }
|
500
|
+
value.compact.map { |v| _to_hash(v) }
|
459
501
|
elsif value.is_a?(Hash)
|
460
502
|
{}.tap do |hash|
|
461
503
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
data/lib/docraptor/version.rb
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=begin
|
2
|
+
#DocRaptor
|
3
|
+
|
4
|
+
#A native client library for the DocRaptor HTML to PDF/XLS service.
|
5
|
+
|
6
|
+
OpenAPI spec version: 1.4.0
|
7
|
+
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.19
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
1
13
|
module DocRaptor
|
2
|
-
VERSION =
|
14
|
+
VERSION = '2.0.0'
|
3
15
|
end
|