hypdf 1.0.17 → 1.0.18
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 +4 -4
- data/lib/hypdf.rb +3 -2
- data/lib/hypdf/composite_io.rb +57 -0
- data/lib/hypdf/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e066724873f784d1710cee05542f694011f124f
|
4
|
+
data.tar.gz: a38a38a3a5a1b9cbac6fe701a86c5c6d1e0499da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f66c8186c7815b4afdff88de25caf7ad84de449031fdc39f63c12a890e7102c12502336b7317a7a7ffe1cc7dfdaf8f5cec0a5054605ceecee0b75f980e5e62a
|
7
|
+
data.tar.gz: e55a03e82033891ddec230d065f33a70ef20d9b25b4be25cc6623dec4953bbdfd6a130b7770a9c7e5a05d53c2e321751cfbef7e801b69d6def1692bcbb41d3ba
|
data/lib/hypdf.rb
CHANGED
@@ -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
|
data/lib/hypdf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hypdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- redfield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- Rakefile
|
54
54
|
- hypdf.gemspec
|
55
55
|
- lib/hypdf.rb
|
56
|
+
- lib/hypdf/composite_io.rb
|
56
57
|
- lib/hypdf/exceptions.rb
|
57
58
|
- lib/hypdf/version.rb
|
58
59
|
- spec/hypdf_spec.rb
|