docraptor 1.0.0 → 1.4.0

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
- SHA1:
3
- metadata.gz: 508ea44e6cd49a04844d505368cda92155d87854
4
- data.tar.gz: 50a471f57c1cc980d9acc8c7892f984a8ff37aa7
2
+ SHA256:
3
+ metadata.gz: 1d6b898db0c2631364545a4da3f3a87ef8a249e7e1db737091e42a8095dc2ba4
4
+ data.tar.gz: 38cc4dd86eb0ae69502ee42c6bdd8cfc1715f8b9b425aa15c4a8089a3edaa609
5
5
  SHA512:
6
- metadata.gz: a80549dcc62c096cd7a694774414c5f4e62e859d9f5c379644a475340739febe9ad2d561fa373a29e227e4ec2108f2a98ba8e03e00a515610726bf031d58bc2a
7
- data.tar.gz: 9bfc210e97694bc4e447a99b34ec34ea182ffe956c882886dd2107b8b7e6319b80b28e0a5b3ab11385282a9dc4344bfa8d5bba29c3eb5516c7baa951af260da6
6
+ metadata.gz: 648892ceb32bc298f8fe5689873212106f8059d47b009164d69ccec923a8437e2209e9f7a4d30de0bda430a1a5bb260ab34133797a3a8d796b3b515119120c58
7
+ data.tar.gz: 1479aabfe153182ef3e0afc66b9c7e5105a2c7873cbe3fe640c6078411895dc30bbb17d58568d22db55a3383f542c2feb9ad140c4ac054de9c58f89244adeb6f
data/.gitignore CHANGED
@@ -1,5 +1,45 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ ## Specific to RubyMotion:
14
+ .dat*
15
+ .repl_history
16
+ build/
17
+
18
+ ## Documentation cache and generated files:
19
+ /.yardoc/
20
+ /_yardoc/
21
+ /doc/
22
+ /rdoc/
23
+
24
+ ## Environment normalization:
25
+ /.bundle/
26
+ /vendor/bundle
27
+ /lib/bundler/man/
28
+ Gemfile.lock
29
+ .ruby-version
30
+ .ruby-gemset
31
+ .rvmrc
32
+ .rubocop.yml
33
+
34
+ ## Ignore dumb OSX files
1
35
  .DS_Store
2
36
  Thumbs.db
37
+
38
+ ## Ignore baked in swagger generator
3
39
  swagger-codegen
4
- /pkg
5
- Gemfile.lock
40
+
41
+ ## Ignore dumb emacs files
42
+ *~
43
+
44
+ ## Ignore files that contain special keys
45
+ .docraptor_key
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -0,0 +1,32 @@
1
+ # Swagger Codegen Ignore
2
+ # Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
3
+
4
+ # Use this file to prevent files from being overwritten by the generator.
5
+ # The patterns follow closely to .gitignore or .dockerignore.
6
+
7
+ # As an example, the C# client generator defines ApiClient.cs.
8
+ # You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
9
+ #ApiClient.cs
10
+
11
+ # You can match any string of characters against a directory, file or extension with a single asterisk (*):
12
+ #foo/*/qux
13
+ # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
14
+
15
+ # You can recursively match patterns against a directory, file or extension with a double asterisk (**):
16
+ #foo/**/qux
17
+ # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
18
+
19
+ # You can also negate patterns with an exclamation (!).
20
+ # For example, you can ignore all files in a docs folder with the file extension .md:
21
+ #docs/*.md
22
+ # Then explicitly reverse the ignore rule for a single file:
23
+ #!docs/README.md
24
+
25
+ # Can't Touch This. Dun-dun-dun-dun. Dun dun. Dun dun.
26
+ README.md
27
+ CHANGELOG.md
28
+ git_push.sh
29
+ docs/
30
+ .gitignore
31
+ LICENSE
32
+ Rakefile
@@ -0,0 +1 @@
1
+ 2.4.14
@@ -1 +1 @@
1
- 62fbcb9e8bec4a40569e51c7f316af85806628ee
1
+ v2.4.14
@@ -1,3 +1,19 @@
1
+ ### 1.4.0 [July 31, 2020]
2
+ * add support for hosted documents
3
+ * upgrade to latest swagger 2.4.14
4
+
5
+ ### 1.3.0 [November 21, 2017]
6
+ * Added support for `prince_options[pdf_title]` and `ignore_console_messages` options
7
+
8
+ ### 1.2.0 [August 22, 2017]
9
+ * No changes from beta1
10
+
11
+ ### 1.2.0beta1 [August 9, 2017]
12
+ * Re-runnning against newer swagger version (v.2.2.3), bumping many gem dependencies to much newer versions. Applications using client *should not* be affected.
13
+
14
+ ### 1.1.0 [November 3, 2016]
15
+ * Added support for pipeline API parameter
16
+
1
17
  ### 1.0.0 [October 18, 2016]
2
18
  * No significant code changes
3
19
 
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 12.3.3'
7
+ end
data/LICENSE CHANGED
@@ -1,13 +1,7 @@
1
- Copyright (c) 2010- Expected Behavior, LLC (http://expectedbehavior.com)
1
+ Copyright © 2010-2017 Expected Behavior
2
2
 
3
- Licensed under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License.
5
- You may obtain a copy of the License at
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
4
 
7
- http://www.apache.org/licenses/LICENSE-2.0
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
6
 
9
- Unless required by applicable law or agreed to in writing, software
10
- distributed under the License is distributed on an "AS IS" BASIS,
11
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- See the License for the specific language governing permissions and
13
- limitations under the License.
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -23,9 +23,9 @@ bundle install
23
23
  See [examples](examples/) for runnable examples with file output, error handling, etc.
24
24
 
25
25
  ```ruby
26
- DocRaptor.configure do |dr|
27
- dr.username = "YOUR_API_KEY_HERE" # this key works for test documents
28
- # dr.debugging = true
26
+ DocRaptor.configure do |config|
27
+ config.username = "YOUR_API_KEY_HERE" # this key works for test documents
28
+ # config.debugging = true
29
29
  end
30
30
 
31
31
  $docraptor = DocRaptor::DocApi.new
@@ -76,7 +76,8 @@ The majority of the code in this repo is generated using swagger-codegen on [doc
76
76
  5. Update [CHANGELOG.md](CHANGELOG.md)
77
77
  6. Commit "Release version vX.Y.Z"
78
78
  7. `rake release`
79
- 8. Refresh documentation on docraptor.com
79
+ 8. Verify package release at https://rubygems.org/gems/docraptor
80
+ 9. Refresh documentation on docraptor.com
80
81
 
81
82
 
82
83
  ## Version Policy
data/Rakefile CHANGED
@@ -1,2 +1,11 @@
1
1
  require 'bundler/setup'
2
2
  require 'bundler/gem_tasks'
3
+
4
+ begin
5
+ require 'rspec/core/rake_task'
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ task default: :spec
9
+ rescue LoadError
10
+ # no rspec available
11
+ end
@@ -1,4 +1,17 @@
1
1
  # -*- encoding: utf-8 -*-
2
+
3
+ =begin
4
+ #DocRaptor
5
+
6
+ #A native client library for the DocRaptor HTML to PDF/XLS service.
7
+
8
+ OpenAPI spec version: 1.4.0
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ Swagger Codegen version: 2.4.14
12
+
13
+ =end
14
+
2
15
  $:.push File.expand_path("../lib", __FILE__)
3
16
  require "docraptor/version"
4
17
 
@@ -6,28 +19,33 @@ Gem::Specification.new do |s|
6
19
  s.name = "docraptor"
7
20
  s.version = DocRaptor::VERSION
8
21
  s.platform = Gem::Platform::RUBY
9
- s.authors = ["Elijah Miller", "Matthew Gordon"]
10
- s.email = ["elijah@expectedbehavior.com", "matt@expectedbehavior.com"]
22
+ s.authors = ["Expected Behavior"]
23
+ s.email = ["support@docraptor.com"]
11
24
  s.homepage = "https://github.com/docraptor/docraptor-ruby"
12
- s.summary = %q{A wrapper for the DocRaptor HTML to PDF/XLS service.}
13
- s.description = %q{A native client library for the DocRaptor HTML to PDF/XLS service.}
14
- s.license = "Apache-2.0"
15
-
16
- s.add_runtime_dependency 'typhoeus', '~> 0.2', '>= 0.2.1'
17
- s.add_runtime_dependency 'json', '~> 1.4', '>= 1.4.6'
18
-
19
- s.add_development_dependency 'pry', '~> 0.10', '>= 0.10.3'
20
- s.add_development_dependency 'rake', '~> 10.4', '>= 10.4.2'
21
- s.add_development_dependency 'rspec', '~> 3.2', '>= 3.2.0'
22
- s.add_development_dependency 'vcr', '~> 2.9', '>= 2.9.3'
23
- s.add_development_dependency 'webmock', '~> 1.6', '>= 1.6.2'
25
+ s.summary = "A wrapper for the DocRaptor HTML to PDF/XLS service."
26
+ s.description = "A native client library for the DocRaptor HTML to PDF/XLS service."
27
+ s.license = 'MIT'
28
+ s.required_ruby_version = ">= 1.9"
29
+
30
+ s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
31
+ s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
32
+
33
+ s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
34
+ s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.1'
35
+ s.add_development_dependency 'webmock', '~> 1.24', '>= 1.24.3'
24
36
  s.add_development_dependency 'autotest', '~> 4.4', '>= 4.4.6'
25
37
  s.add_development_dependency 'autotest-rails-pure', '~> 4.1', '>= 4.1.2'
26
38
  s.add_development_dependency 'autotest-growl', '~> 0.2', '>= 0.2.16'
27
- s.add_development_dependency 'autotest-fsevent', '~> 0.2', '>= 0.2.11'
39
+ s.add_development_dependency 'autotest-fsevent', '~> 0.2', '>= 0.2.12'
40
+
41
+ # added by script/fix_gemspec.rb.
42
+ s.add_development_dependency 'rake', '~>11.2', '>= 11.2.2'
43
+ s.add_development_dependency 'pry', '~>0.10', '>= 0.10.4'
44
+ # </added> : if the above lines are missing in the gemspec, then
45
+ # the matcher for autotest is probably broken
28
46
 
29
- s.files = `git ls-files`.split("\n").uniq.sort.select{|f| !f.empty? }
30
- # s.test_files = `git ls-files spec`.split("\n")
47
+ s.files = `git ls-files`.split("\n").uniq.sort.select { |f| !f.empty? }
48
+ s.test_files = `git ls-files spec test`.split("\n")
31
49
  s.executables = []
32
50
  s.require_paths = ["lib"]
33
51
  end
@@ -1,8 +1,13 @@
1
1
  swagger: '2.0'
2
2
 
3
- info:
4
- version: "1.1.0"
5
- title: DocRaptor v1
3
+ info: # https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#info-object
4
+ version: "1.4.0"
5
+ title: DocRaptor
6
+ description: "A native client library for the DocRaptor HTML to PDF/XLS service."
7
+ termsOfService: "https://docraptor.com/tos"
8
+ license:
9
+ name: "MIT"
10
+ url: "https://mit-license.org/"
6
11
 
7
12
  host: docraptor.com
8
13
  basePath: /
@@ -50,14 +55,79 @@ paths:
50
55
  description: Unprocessable Entity
51
56
  500:
52
57
  description: Server Error
58
+
59
+ /hosted_docs:
60
+ post:
61
+ operationId: createHostedDoc
62
+ tags: [Doc]
63
+ description: >
64
+ Creates a hosted document synchronously.
65
+ security:
66
+ - basicAuth: []
67
+ parameters:
68
+ - name: doc
69
+ in: body
70
+ description: The document to be created.
71
+ required: true
72
+ schema:
73
+ $ref: '#/definitions/Doc'
74
+ responses:
75
+ 200:
76
+ description: Successful response
77
+ schema:
78
+ $ref: '#/definitions/DocStatus'
79
+ 400:
80
+ description: Bad Request
81
+ 401:
82
+ description: Unauthorized
83
+ 403:
84
+ description: Forbidden
85
+ 422:
86
+ description: Unprocessable Entity
87
+ 500:
88
+ description: Server Error
89
+
53
90
  /async_docs:
54
91
  post:
55
92
  operationId: createAsyncDoc
56
93
  tags: [Doc]
57
94
  description: >
58
95
  Creates a document asynchronously.
59
- You must use a callback url or the the returned status id and the status api to find out when it completes.
60
- Then use the download api to get the document.
96
+ You must use a callback url or the returned status id and the status API to find out when it completes.
97
+ Then use the download API to get the document.
98
+ security:
99
+ - basicAuth: []
100
+ parameters:
101
+ - name: doc
102
+ in: body
103
+ description: The document to be created.
104
+ required: true
105
+ schema:
106
+ $ref: '#/definitions/Doc'
107
+ responses:
108
+ 200:
109
+ description: Successful response
110
+ schema:
111
+ $ref: '#/definitions/AsyncDoc'
112
+ 400:
113
+ description: Bad Request
114
+ 401:
115
+ description: Unauthorized
116
+ 403:
117
+ description: Forbidden
118
+ 422:
119
+ description: Unprocessable Entity
120
+ 500:
121
+ description: Server Error
122
+
123
+ /hosted_async_docs:
124
+ post:
125
+ operationId: createHostedAsyncDoc
126
+ tags: [Doc]
127
+ description: >
128
+ Creates a hosted document asynchronously.
129
+ You must use a callback url or the returned status id and the status API to find out when it completes.
130
+ Then use the download API to get the document.
61
131
  security:
62
132
  - basicAuth: []
63
133
  parameters:
@@ -96,13 +166,12 @@ paths:
96
166
  in: path
97
167
  description: The status_id returned when creating an asynchronous document.
98
168
  required: true
99
- schema:
100
- $ref: '#/definitions/AsyncDocStatus'
169
+ type: string
101
170
  responses:
102
171
  200:
103
172
  description: Successful response
104
173
  schema:
105
- $ref: '#/definitions/AsyncDocStatus'
174
+ $ref: '#/definitions/DocStatus'
106
175
  401:
107
176
  description: Unauthorized
108
177
  403:
@@ -115,14 +184,15 @@ paths:
115
184
  operationId: getAsyncDoc
116
185
  tags: [Doc]
117
186
  description: >
118
- Downloads a document.
187
+ Downloads a finished document.
119
188
  security:
120
189
  - basicAuth: []
121
190
  parameters:
122
191
  - name: id
123
192
  in: path
124
- description: The download_id returned from status request or a callback.
193
+ description: The download_id returned from an async status request or callback.
125
194
  required: true
195
+ type: string
126
196
  responses:
127
197
  200:
128
198
  description: Successful response
@@ -136,6 +206,30 @@ paths:
136
206
  500:
137
207
  description: Server Error
138
208
 
209
+ /expire/{id}:
210
+ patch:
211
+ operationId: expire
212
+ tags: [Doc]
213
+ description: >
214
+ Expires a previously created hosted doc.
215
+ security:
216
+ - basicAuth: []
217
+ parameters:
218
+ - name: id
219
+ in: path
220
+ description: The download_id returned from status request or hosted document response.
221
+ required: true
222
+ type: string
223
+ responses:
224
+ 200:
225
+ description: Successful response
226
+ 401:
227
+ description: Unauthorized
228
+ 403:
229
+ description: Forbidden
230
+ 500:
231
+ description: Server Error
232
+
139
233
  definitions:
140
234
  Doc:
141
235
  type: object
@@ -168,17 +262,23 @@ definitions:
168
262
  type: boolean
169
263
  description: Enable test mode for this document. Test documents are not charged for but include a watermark.
170
264
  default: true
265
+ pipeline:
266
+ type: string
267
+ description: Specify a specific verison of the DocRaptor Pipeline to use.
171
268
  strict:
172
269
  type: string
173
270
  description: Force strict HTML validation.
174
- default: none
175
271
  enum:
176
272
  - none
177
- - true
273
+ - html
178
274
  ignore_resource_errors:
179
275
  type: boolean
180
276
  description: Failed loading of images/javascripts/stylesheets/etc. will not cause the rendering to stop.
181
277
  default: true
278
+ ignore_console_messages:
279
+ type: boolean
280
+ description: Prevent console.log from stopping document rendering during JavaScript execution.
281
+ default: false
182
282
  tag:
183
283
  type: string
184
284
  description: A field for storing a small amount of metadata with this document.
@@ -197,8 +297,14 @@ definitions:
197
297
  type: string
198
298
  description: >
199
299
  A URL that will receive a POST request after successfully completing an asynchronous document.
200
- The POST data will include download_url and download_id similar to status api responses.
300
+ The POST data will include download_url and download_id similar to status API responses.
201
301
  WARNING: this only works on asynchronous documents.
302
+ hosted_download_limit:
303
+ type: integer
304
+ description: The number of times a hosted document can be downloaded. If no limit is specified, the document will be available for an unlimited number of downloads.
305
+ hosted_expires_at:
306
+ type: string
307
+ description: The date and time at which a hosted document will be removed and no longer available. Must be a properly formatted ISO 8601 datetime, like 1981-01-23T08:02:30-05:00.
202
308
  prince_options:
203
309
  $ref: '#/definitions/PrinceOptions'
204
310
 
@@ -293,7 +399,8 @@ definitions:
293
399
  - auto
294
400
  version:
295
401
  type: string
296
- description: Specify a specific verison of PrinceXML to use.
402
+ deprecated: true
403
+ description: Deprecated, use the appropriate `pipeline` version. Specify a specific verison of PrinceXML to use.
297
404
  # default: 10
298
405
  # disabled because Java will try to make an enum as 7_1 which fails
299
406
  # enum:
@@ -314,17 +421,22 @@ definitions:
314
421
  # disabled because Java will try to make an enum with PDF/A-1b which fails
315
422
  # enum:
316
423
  # - PDF/A-1b
424
+ # - PDF/A-3b # (Pipeline 6+)
425
+ # - PDF/X-1a # (Pipeline 6+)
317
426
  # - PDF/X-3:2003
318
427
  # - PDF/X-4
428
+ pdf_title:
429
+ type: string
430
+ description: Specify the PDF title, part of the document's metadata.
319
431
 
320
432
  AsyncDoc:
321
433
  type: object
322
434
  properties:
323
435
  status_id:
324
436
  type: string
325
- description: The identifier used to get the status of the document using the status api.
437
+ description: The identifier used to get the status of the document using the status API.
326
438
 
327
- AsyncDocStatus:
439
+ DocStatus:
328
440
  type: object
329
441
  properties:
330
442
  status:
@@ -335,7 +447,7 @@ definitions:
335
447
  description: The URL where the document can be retrieved. This URL may only be used a few times.
336
448
  download_id:
337
449
  type: string
338
- description: The identifier for downloading the document with the download api.
450
+ description: The identifier for downloading the document with the download API.
339
451
  message:
340
452
  type: string
341
453
  description: Additional information.