docraptor 2.0.0 → 3.1.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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.docker_env.list +5 -0
  3. data/.docker_mounts.list +4 -0
  4. data/.generator-language-identifier +1 -0
  5. data/.generator-revision +1 -0
  6. data/.github/pull_request_template.txt +17 -0
  7. data/.gitignore +20 -14
  8. data/.gitlab-ci.yml +26 -0
  9. data/.openapi-generator/FILES +32 -0
  10. data/.openapi-generator/VERSION +1 -0
  11. data/{.swagger-codegen-ignore → .openapi-generator-ignore} +13 -7
  12. data/.review/README.md +16 -0
  13. data/.review/generated_files/.gitignore +39 -0
  14. data/.review/generated_files/README.md +108 -0
  15. data/.review/generated_files/docs/AsyncDoc.md +18 -0
  16. data/.review/generated_files/docs/Doc.md +50 -0
  17. data/.review/generated_files/docs/DocApi.md +503 -0
  18. data/.review/generated_files/docs/DocStatus.md +28 -0
  19. data/.review/generated_files/docs/PrinceOptions.md +82 -0
  20. data/.review/generated_files/spec/api/doc_api_spec.rb +112 -0
  21. data/{spec → .review/generated_files/spec}/api_client_spec.rb +6 -21
  22. data/{spec → .review/generated_files/spec}/configuration_spec.rb +6 -6
  23. data/.review/generated_files/spec/models/async_doc_spec.rb +34 -0
  24. data/.review/generated_files/spec/models/doc_spec.rb +138 -0
  25. data/.review/generated_files/spec/models/doc_status_spec.rb +64 -0
  26. data/.review/generated_files/spec/models/prince_options_spec.rb +234 -0
  27. data/{spec → .review/generated_files/spec}/spec_helper.rb +3 -3
  28. data/.rubocop.yml +148 -0
  29. data/.runtime-environments +13 -0
  30. data/.travis.yml +9 -7
  31. data/CHANGELOG.md +8 -0
  32. data/Gemfile +3 -1
  33. data/README.md +8 -8
  34. data/Rakefile +1 -2
  35. data/docraptor.gemspec +5 -19
  36. data/docraptor.yaml +283 -284
  37. data/examples/async.rb +24 -30
  38. data/examples/hosted_async.rb +21 -33
  39. data/examples/hosted_sync.rb +19 -32
  40. data/examples/sync.rb +20 -26
  41. data/gemfiles/Gemfile.2.5.lock +70 -0
  42. data/gemfiles/Gemfile.2.6.lock +70 -0
  43. data/gemfiles/Gemfile.2.7.lock +70 -0
  44. data/gemfiles/Gemfile.3.0.lock +70 -0
  45. data/gemfiles/Gemfile.3.1.lock +72 -0
  46. data/gemfiles/Gemfile.3.2.lock +72 -0
  47. data/gemfiles/Gemfile.3.3.lock +72 -0
  48. data/{swagger-config.json → generator-config.json} +3 -2
  49. data/lib/docraptor/api/doc_api.rb +180 -85
  50. data/lib/docraptor/api_client.rb +91 -90
  51. data/lib/docraptor/api_error.rb +23 -3
  52. data/lib/docraptor/configuration.rb +101 -15
  53. data/lib/docraptor/models/async_doc.rb +53 -18
  54. data/lib/docraptor/models/doc.rb +80 -50
  55. data/lib/docraptor/models/doc_status.rb +58 -23
  56. data/lib/docraptor/models/prince_options.rb +149 -75
  57. data/lib/docraptor/version.rb +4 -4
  58. data/lib/docraptor.rb +3 -3
  59. data/script/clean +2 -2
  60. data/script/console +5 -0
  61. data/script/docker +56 -0
  62. data/script/fix_gemspec.rb +3 -18
  63. data/script/generate_language +43 -4
  64. data/script/inside_container/README.md +6 -0
  65. data/script/inside_container/test +87 -0
  66. data/script/post_generate_language +8 -2
  67. data/script/release +13 -0
  68. data/script/setup +25 -14
  69. data/script/swagger +6 -33
  70. data/script/test +30 -27
  71. data/test/async.rb +2 -2
  72. data/test/expire_hosted.rb +2 -2
  73. data/test/hosted_async.rb +7 -1
  74. data/test/hosted_sync.rb +2 -2
  75. data/test/iframes_default.rb +40 -0
  76. data/test/iframes_false.rb +40 -0
  77. data/test/iframes_true.rb +40 -0
  78. data/test/prince_options.rb +45 -0
  79. data/test/sync.rb +2 -2
  80. data/test/xlsx.rb +10 -3
  81. metadata +52 -214
  82. data/.swagger-codegen/VERSION +0 -1
  83. data/.swagger-revision +0 -1
@@ -3,10 +3,10 @@
3
3
 
4
4
  #A native client library for the DocRaptor HTML to PDF/XLS service.
5
5
 
6
- OpenAPI spec version: 1.4.0
6
+ The version of the OpenAPI document: 2.0.0
7
7
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.14
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.6.0
10
10
 
11
11
  =end
12
12
 
data/.rubocop.yml ADDED
@@ -0,0 +1,148 @@
1
+ # This file is based on https://github.com/rails/rails/blob/master/.rubocop.yml (MIT license)
2
+ # Automatically generated by OpenAPI Generator (https://openapi-generator.tech)
3
+ AllCops:
4
+ TargetRubyVersion: 2.4
5
+ # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
6
+ # to ignore them, so only the ones explicitly set in this file are enabled.
7
+ DisabledByDefault: true
8
+ Exclude:
9
+ - '**/templates/**/*'
10
+ - '**/vendor/**/*'
11
+ - 'actionpack/lib/action_dispatch/journey/parser.rb'
12
+
13
+ # Prefer &&/|| over and/or.
14
+ Style/AndOr:
15
+ Enabled: true
16
+
17
+ # Align `when` with `case`.
18
+ Layout/CaseIndentation:
19
+ Enabled: true
20
+
21
+ # Align comments with method definitions.
22
+ Layout/CommentIndentation:
23
+ Enabled: true
24
+
25
+ Layout/ElseAlignment:
26
+ Enabled: true
27
+
28
+ Layout/EmptyLineAfterMagicComment:
29
+ Enabled: true
30
+
31
+ # In a regular class definition, no empty lines around the body.
32
+ Layout/EmptyLinesAroundClassBody:
33
+ Enabled: true
34
+
35
+ # In a regular method definition, no empty lines around the body.
36
+ Layout/EmptyLinesAroundMethodBody:
37
+ Enabled: true
38
+
39
+ # In a regular module definition, no empty lines around the body.
40
+ Layout/EmptyLinesAroundModuleBody:
41
+ Enabled: true
42
+
43
+ Layout/FirstArgumentIndentation:
44
+ Enabled: true
45
+
46
+ # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
47
+ Style/HashSyntax:
48
+ Enabled: false
49
+
50
+ # Method definitions after `private` or `protected` isolated calls need one
51
+ # extra level of indentation.
52
+ Layout/IndentationConsistency:
53
+ Enabled: true
54
+ EnforcedStyle: indented_internal_methods
55
+
56
+ # Two spaces, no tabs (for indentation).
57
+ Layout/IndentationWidth:
58
+ Enabled: true
59
+
60
+ Layout/LeadingCommentSpace:
61
+ Enabled: true
62
+
63
+ Layout/SpaceAfterColon:
64
+ Enabled: true
65
+
66
+ Layout/SpaceAfterComma:
67
+ Enabled: true
68
+
69
+ Layout/SpaceAroundEqualsInParameterDefault:
70
+ Enabled: true
71
+
72
+ Layout/SpaceAroundKeyword:
73
+ Enabled: true
74
+
75
+ Layout/SpaceAroundOperators:
76
+ Enabled: true
77
+
78
+ Layout/SpaceBeforeComma:
79
+ Enabled: true
80
+
81
+ Layout/SpaceBeforeFirstArg:
82
+ Enabled: true
83
+
84
+ Style/DefWithParentheses:
85
+ Enabled: true
86
+
87
+ # Defining a method with parameters needs parentheses.
88
+ Style/MethodDefParentheses:
89
+ Enabled: true
90
+
91
+ Style/FrozenStringLiteralComment:
92
+ Enabled: false
93
+ EnforcedStyle: always
94
+
95
+ # Use `foo {}` not `foo{}`.
96
+ Layout/SpaceBeforeBlockBraces:
97
+ Enabled: true
98
+
99
+ # Use `foo { bar }` not `foo {bar}`.
100
+ Layout/SpaceInsideBlockBraces:
101
+ Enabled: true
102
+
103
+ # Use `{ a: 1 }` not `{a:1}`.
104
+ Layout/SpaceInsideHashLiteralBraces:
105
+ Enabled: true
106
+
107
+ Layout/SpaceInsideParens:
108
+ Enabled: true
109
+
110
+ # Check quotes usage according to lint rule below.
111
+ #Style/StringLiterals:
112
+ # Enabled: true
113
+ # EnforcedStyle: single_quotes
114
+
115
+ # Detect hard tabs, no hard tabs.
116
+ Layout/IndentationStyle:
117
+ Enabled: true
118
+
119
+ # Blank lines should not have any spaces.
120
+ Layout/TrailingEmptyLines:
121
+ Enabled: true
122
+
123
+ # No trailing whitespace.
124
+ Layout/TrailingWhitespace:
125
+ Enabled: false
126
+
127
+ # Use quotes for string literals when they are enough.
128
+ Style/RedundantPercentQ:
129
+ Enabled: true
130
+
131
+ # Align `end` with the matching keyword or starting expression except for
132
+ # assignments, where it should be aligned with the LHS.
133
+ Layout/EndAlignment:
134
+ Enabled: true
135
+ EnforcedStyleAlignWith: variable
136
+ AutoCorrect: true
137
+
138
+ # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
139
+ Lint/RequireParentheses:
140
+ Enabled: true
141
+
142
+ Style/RedundantReturn:
143
+ Enabled: true
144
+ AllowMultipleReturnValues: true
145
+
146
+ Style/Semicolon:
147
+ Enabled: true
148
+ AllowAsExpressionSeparator: true
@@ -0,0 +1,13 @@
1
+ # Versions without patch numbers will test the latest patch version. We include
2
+ # specific patch versions to provide consistency. We include version numbers
3
+ # without the patch version in order to automatically test the latest patch
4
+ # version of each minor version.
5
+ # DR gem itself requires >= 2.4, so 2.3 is out
6
+ # 2.4: /app/lib/docraptor/models/async_doc.rb:111:in `build_from_hash': undefined method `transform_keys'
7
+ ruby:2.5
8
+ ruby:2.6
9
+ ruby:2.7
10
+ ruby:3.0
11
+ ruby:3.1
12
+ ruby:3.2
13
+ ruby:3.3-rc
data/.travis.yml CHANGED
@@ -1,9 +1,11 @@
1
- sudo: false
2
1
  language: ruby
2
+ cache: bundler
3
3
  rvm:
4
- - 2.3.8
5
- - 2.4.10
6
- - 2.5.9
7
- - 2.6.7
8
- - 2.7.3
9
- - 3.0.1
4
+ - 2.7
5
+ - 3.0
6
+ - 3.1
7
+ script:
8
+ - bundle install --path vendor/bundle
9
+ - bundle exec rspec
10
+ - gem build docraptor.gemspec
11
+ - gem install ./docraptor-3.1.0.gem
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 3.1.0 [July 19, 2023]
2
+ * Add new Prince API options for pdf_forms, iframes, and page_margin
3
+
4
+ ### 3.0.0 [November 15, 2022]
5
+ * Switch API host to more secure api.docraptor.com (dropping old TLS)
6
+ * Remove support for rubies <2.5
7
+ * Switch from swagger v2.4.19 to openapi-generator v6.0.1 (better maintained)
8
+
1
9
  ### 2.0.0 [June 1, 2021]
2
10
  * Add support for ruby 3.x (remove `URI.encode`)
3
11
  * Remove support for rubies <2.3
data/Gemfile CHANGED
@@ -3,5 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development, :test do
6
- gem 'rake', '~> 12.3.3'
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
7
9
  end
data/README.md CHANGED
@@ -55,7 +55,7 @@ Stuck? We're experts at turning HTML into PDFs so please [email us](mailto:suppo
55
55
 
56
56
  ## Development
57
57
 
58
- The majority of the code in this repo is generated using swagger-codegen on [docraptor.yaml](docraptor.yaml). You can modify this file and regenerate the client using `script/generate_language ruby`.
58
+ The majority of the code in this repo is generated using openapi-generator on [docraptor.yaml](docraptor.yaml). You can modify this file and regenerate the client using `script/generate_language`.
59
59
 
60
60
 
61
61
  ## Release Process
@@ -63,14 +63,14 @@ The majority of the code in this repo is generated using swagger-codegen on [doc
63
63
  1. Pull latest master
64
64
  2. Merge feature branch(es) into master
65
65
  3. `script/test`
66
- 4. Increment version in code:
67
- - `swagger-config.json`
66
+ 4. Increment version: `generator-config.json`
67
+ 5. Run `script/generate_language` to update generated version numbers:
68
68
  - `lib/docraptor/version.rb`
69
- 5. Update [CHANGELOG.md](CHANGELOG.md)
70
- 6. Commit "Release version vX.Y.Z"
71
- 7. `rake release`
72
- 8. Verify package release at https://rubygems.org/gems/docraptor
73
- 9. Refresh documentation on docraptor.com
69
+ 6. Update [CHANGELOG.md](CHANGELOG.md)
70
+ 7. Commit "Release version vX.Y.Z"
71
+ 8. `script/release`
72
+ 9. Verify package release at https://rubygems.org/gems/docraptor
73
+ 10. Refresh documentation on docraptor.com
74
74
 
75
75
 
76
76
  ## Version Policy
data/Rakefile CHANGED
@@ -1,5 +1,4 @@
1
- require 'bundler/setup'
2
- require 'bundler/gem_tasks'
1
+ require "bundler/gem_tasks"
3
2
 
4
3
  begin
5
4
  require 'rspec/core/rake_task'
data/docraptor.gemspec CHANGED
@@ -5,10 +5,10 @@
5
5
 
6
6
  #A native client library for the DocRaptor HTML to PDF/XLS service.
7
7
 
8
- OpenAPI spec version: 1.4.0
8
+ The version of the OpenAPI document: 2.0.0
9
9
 
10
- Generated by: https://github.com/swagger-api/swagger-codegen.git
11
- Swagger Codegen version: 2.4.19
10
+ Generated by: https://openapi-generator.tech
11
+ OpenAPI Generator version: 6.6.0
12
12
 
13
13
  =end
14
14
 
@@ -24,26 +24,12 @@ Gem::Specification.new do |s|
24
24
  s.homepage = "https://github.com/docraptor/docraptor-ruby"
25
25
  s.summary = "A wrapper for the DocRaptor HTML to PDF/XLS service."
26
26
  s.description = "A native client library for the DocRaptor HTML to PDF/XLS service."
27
- s.license = 'MIT'
28
- s.required_ruby_version = ">= 2.3"
27
+ s.license = "MIT"
28
+ s.required_ruby_version = ">= 2.5"
29
29
 
30
30
  s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
31
- s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
32
- s.add_runtime_dependency 'addressable', '~> 2.3', '>= 2.3.0'
33
31
 
34
32
  s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
35
- s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.1'
36
- s.add_development_dependency 'webmock', '~> 1.24', '>= 1.24.3'
37
- s.add_development_dependency 'autotest', '~> 4.4', '>= 4.4.6'
38
- s.add_development_dependency 'autotest-rails-pure', '~> 4.1', '>= 4.1.2'
39
- s.add_development_dependency 'autotest-growl', '~> 0.2', '>= 0.2.16'
40
- s.add_development_dependency 'autotest-fsevent', '~> 0.2', '>= 0.2.12'
41
-
42
- # added by script/fix_gemspec.rb.
43
- s.add_development_dependency 'rake', '~>11.2', '>= 11.2.2'
44
- s.add_development_dependency 'pry', '~>0.10', '>= 0.10.4'
45
- # </added> : if the above lines are missing in the gemspec, then
46
- # the matcher for autotest is probably broken
47
33
 
48
34
  s.files = `git ls-files`.split("\n").uniq.sort.select { |f| !f.empty? }
49
35
  s.test_files = `git ls-files spec test`.split("\n")