hypdf 1.0.14 → 1.0.19

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,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 310ab0b3d2778c8da23381b9b6c3ed6a2265bbeb
4
- data.tar.gz: 9d387f6736429f7ea1f76263deb29005efe19c12
2
+ SHA256:
3
+ metadata.gz: 24b51670db389835fe3db9cc30ffea3d6e7f20ffff16608d9f4799f699beda77
4
+ data.tar.gz: b1b7915760e6a07d3ff77ed9cbb1519b54fcd258f66f60159ee29e8a07029989
5
5
  SHA512:
6
- metadata.gz: e8b6930e12f9c0275e1f67d081e180b474bc33d3b49748ddd642696f9eaf717a12c799ea08155cdda1574c1dd4d430cc4a64a659f26e4a4f37ddd61127aeb3b2
7
- data.tar.gz: 4a1c864407ec28d92b4544e0d2fcee606f895dfb1443e3878d71f463838768646ce27064d73a1d43b85183b82c371f9c2a836496a7653c4d5d67202bf1cbe80e
6
+ metadata.gz: 882c2f3d4d9bcb0fd80f67ebee9ab03e4142bab8add8dce3d6eaaea92f614a59f204c5e0776d86d728c38a39c66917ed61bddd94d4b7e5a70df96c3b23caa89a
7
+ data.tar.gz: fa23247b8a45da28fcd6055ce6c1db8329e0c84d8117c31533cfbc2b13a2c2bead0f0db57c01d6bbcf52dc19225b80786ea5a60e48bcc78dbd04214bbdb25fb4
data/.gitignore CHANGED
File without changes
data/.rspec CHANGED
File without changes
data/Gemfile CHANGED
File without changes
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
@@ -17,7 +17,6 @@ Gem::Specification.new do |gem|
17
17
  gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
- gem.add_dependency "httparty", "~> 0.13"
21
- gem.add_dependency "httmultiparty", "~> 0.3"
20
+ gem.add_dependency "httparty", "> 0.16.0", "< 1.0"
22
21
  gem.add_development_dependency "rspec"
23
22
  end
@@ -1,6 +1,7 @@
1
- require "json"
2
- require "hypdf/exceptions"
3
- require 'httmultiparty'
1
+ require 'json'
2
+ require 'hypdf/exceptions'
3
+ require 'hypdf/composite_io'
4
+ require 'httparty'
4
5
 
5
6
  class HyPDF
6
7
 
@@ -31,7 +32,7 @@ class HyPDF
31
32
  options[:user] ||= ENV["HYPDF_USER"]
32
33
  options[:password] ||= ENV["HYPDF_PASSWORD"]
33
34
 
34
- response = HTTMultiParty.get(
35
+ response = HTTParty.get(
35
36
  "#{HyPDF::HOST}/jobstatus",
36
37
  query: options
37
38
  )
@@ -42,6 +43,7 @@ class HyPDF
42
43
  when 402 then raise HyPDF::PaymentRequired
43
44
  when 403 then raise HyPDF::S3AccessDenied
44
45
  when 404 then raise HyPDF::NoSuchBucket
46
+ when 408 then raise HyPDF::RequestTimeout
45
47
  when 500 then raise HyPDF::InternalServerError
46
48
  end
47
49
  end
@@ -108,6 +110,28 @@ class HyPDF
108
110
  end
109
111
  end
110
112
 
113
+ def encryptpdf(file, options = {})
114
+ options.merge!(file: File.new(file))
115
+ response = request('encryptpdf', options).body
116
+
117
+ if options[:bucket].nil?
118
+ {pdf: response}
119
+ else
120
+ JSON.parse(response, symbolize_names: true)
121
+ end
122
+ end
123
+
124
+ def decryptpdf(file, options = {})
125
+ options.merge!(file: File.new(file))
126
+ response = request('decryptpdf', options).body
127
+
128
+ if options[:bucket].nil?
129
+ {pdf: response}
130
+ else
131
+ JSON.parse(response, symbolize_names: true)
132
+ end
133
+ end
134
+
111
135
  private
112
136
 
113
137
  def file_for(param, index)
@@ -130,7 +154,7 @@ class HyPDF
130
154
  body[:user] ||= ENV["HYPDF_USER"]
131
155
  body[:password] ||= ENV["HYPDF_PASSWORD"]
132
156
 
133
- response = HTTMultiParty.post("#{HyPDF::HOST}/#{method}", body: body)
157
+ response = HTTParty.post("#{HyPDF::HOST}/#{method}", body: body)
134
158
  case response.code
135
159
  when 200 then response
136
160
  when 400 then raise HyPDF::ContentRequired
@@ -138,6 +162,7 @@ class HyPDF
138
162
  when 402 then raise HyPDF::PaymentRequired
139
163
  when 403 then raise HyPDF::S3AccessDenied
140
164
  when 404 then raise HyPDF::NoSuchBucket
165
+ when 408 then raise HyPDF::RequestTimeout
141
166
  when 500 then raise HyPDF::InternalServerError
142
167
  end
143
168
  end
@@ -0,0 +1,57 @@
1
+ #--
2
+ # Origin: https://raw.githubusercontent.com/nicksieger/multipart-post/master/lib/composite_io.rb
3
+ # Copyright (c) 2007-2012 Nick Sieger.
4
+ #++
5
+
6
+ # Convenience methods for dealing with files and IO that are to be uploaded.
7
+ class UploadIO
8
+ # Create an upload IO suitable for including in the params hash of a
9
+ # Net::HTTP::Post::Multipart.
10
+ #
11
+ # Can take two forms. The first accepts a filename and content type, and
12
+ # opens the file for reading (to be closed by finalizer).
13
+ #
14
+ # The second accepts an already-open IO, but also requires a third argument,
15
+ # the filename from which it was opened (particularly useful/recommended if
16
+ # uploading directly from a form in a framework, which often save the file to
17
+ # an arbitrarily named RackMultipart file in /tmp).
18
+ #
19
+ # Usage:
20
+ #
21
+ # UploadIO.new("file.txt", "text/plain")
22
+ # UploadIO.new(file_io, "text/plain", "file.txt")
23
+ #
24
+ attr_reader :content_type, :original_filename, :local_path, :io, :opts, :path
25
+
26
+ def initialize(filename_or_io, content_type, filename = nil, opts = {})
27
+ io = filename_or_io
28
+ local_path = ""
29
+ if io.respond_to? :read
30
+ # in Ruby 1.9.2, StringIOs no longer respond to path
31
+ # (since they respond to :length, so we don't need their local path, see parts.rb:41)
32
+ local_path = filename_or_io.respond_to?(:path) ? filename_or_io.path : filename
33
+ else
34
+ io = File.open(filename_or_io)
35
+ local_path = filename_or_io
36
+ end
37
+ filename ||= local_path
38
+
39
+ @content_type = content_type
40
+ @original_filename = File.basename(filename)
41
+ @local_path = @path = local_path
42
+ @io = io
43
+ @opts = opts
44
+ end
45
+
46
+ def self.convert!(io, content_type, original_filename, local_path)
47
+ raise ArgumentError, "convert! has been removed. You must now wrap IOs using:\nUploadIO.new(filename_or_io, content_type, filename=nil)\nPlease update your code."
48
+ end
49
+
50
+ def method_missing(*args)
51
+ @io.send(*args)
52
+ end
53
+
54
+ def respond_to?(meth, include_all = false)
55
+ @io.respond_to?(meth, include_all) || super(meth, include_all)
56
+ end
57
+ end
@@ -10,6 +10,8 @@ class HyPDF
10
10
 
11
11
  class NoSuchBucket < StandardError; end
12
12
 
13
+ class RequestTimeout < StandardError; end
14
+
13
15
  class InternalServerError < StandardError; end
14
16
 
15
17
  end
@@ -1,3 +1,3 @@
1
1
  class HyPDF
2
- VERSION = "1.0.14"
2
+ VERSION = "1.0.19"
3
3
  end
File without changes
File without changes
metadata CHANGED
@@ -1,43 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hypdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.14
4
+ version: 1.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - redfield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-03 00:00:00.000000000 Z
11
+ date: 2020-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.13'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
19
+ version: 0.16.0
20
+ - - "<"
25
21
  - !ruby/object:Gem::Version
26
- version: '0.13'
27
- - !ruby/object:Gem::Dependency
28
- name: httmultiparty
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.3'
22
+ version: '1.0'
34
23
  type: :runtime
35
24
  prerelease: false
36
25
  version_requirements: !ruby/object:Gem::Requirement
37
26
  requirements:
38
- - - "~>"
27
+ - - ">"
28
+ - !ruby/object:Gem::Version
29
+ version: 0.16.0
30
+ - - "<"
39
31
  - !ruby/object:Gem::Version
40
- version: '0.3'
32
+ version: '1.0'
41
33
  - !ruby/object:Gem::Dependency
42
34
  name: rspec
43
35
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +59,7 @@ files:
67
59
  - Rakefile
68
60
  - hypdf.gemspec
69
61
  - lib/hypdf.rb
62
+ - lib/hypdf/composite_io.rb
70
63
  - lib/hypdf/exceptions.rb
71
64
  - lib/hypdf/version.rb
72
65
  - spec/hypdf_spec.rb
@@ -90,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
83
  - !ruby/object:Gem::Version
91
84
  version: '0'
92
85
  requirements: []
93
- rubyforge_project:
94
- rubygems_version: 2.5.1
86
+ rubygems_version: 3.0.3
95
87
  signing_key:
96
88
  specification_version: 4
97
89
  summary: Ruby wrapper around the HyPDF API