rack_image_resizer 1.4.33 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rack_image_resizer.rb +2 -68
- metadata +5 -6
- data/lib/string.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5dfb54bde3fb62dd29787bfba1d0471882d738d1f64d796ce7caa94f484b6109
|
4
|
+
data.tar.gz: 8209def65df66809e5b78d6130ec8298fc9b940ad2121092eb5387bd0652829c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a49337a63990cb77b1a741cc29f092c0df0f3b586db531cc42a1bd515d207b183789e409b39ac92eaf9c38a217d26310f0b419543f5294c99aa11965444fcac0
|
7
|
+
data.tar.gz: 5f267e95be00cba99a6284a4b99f19d2baf6d0c5bd30856bf16aa0b2514e7acbba539ffd7e6edc3b41fdf45b49f2c3a14bbd84328874c9d1214faf1c616a283e
|
data/lib/rack_image_resizer.rb
CHANGED
@@ -1,68 +1,2 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'base64'
|
4
|
-
require_relative 'string'
|
5
|
-
|
6
|
-
module ::RackImageResizer
|
7
|
-
extend self
|
8
|
-
|
9
|
-
@@config = Struct.new(:secret, :server, :host).new
|
10
|
-
|
11
|
-
def set name, value
|
12
|
-
@@config.send '%s=' % name, value
|
13
|
-
end
|
14
|
-
|
15
|
-
def get name
|
16
|
-
@@config.send(name) || ENV.fetch('RESIZER_%s' % name.to_s.upcase)
|
17
|
-
end
|
18
|
-
|
19
|
-
def config
|
20
|
-
if block_given?
|
21
|
-
yield @@config
|
22
|
-
else
|
23
|
-
@@config
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def prefix_it url
|
28
|
-
url[0,1] == '/' ? get(:host) + url : url
|
29
|
-
end
|
30
|
-
|
31
|
-
###
|
32
|
-
|
33
|
-
def build opts
|
34
|
-
opts[:i] ||= opts.delete(:image)
|
35
|
-
opts[:s] ||= opts.delete(:size) if opts[:size]
|
36
|
-
opts[:e] ||= opts.delete(:onerror) if opts[:onerror]
|
37
|
-
|
38
|
-
# return empty pixel unless self
|
39
|
-
return "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" if opts[:i].to_s == ''
|
40
|
-
|
41
|
-
# add host as prefix to images if relative given
|
42
|
-
opts[:i] = prefix_it opts[:i]
|
43
|
-
opts[:e] = prefix_it opts[:e] if opts[:e]
|
44
|
-
|
45
|
-
raise ArgumentError.new('Invalid URL, no https?:// found') unless opts[:i] =~ %r{^https?://}
|
46
|
-
|
47
|
-
# reduce size of a hash by stripping 'https?://' - 7 characters
|
48
|
-
opts[:i] = opts[:i].sub(%r{^(\w+)://}, '')
|
49
|
-
prefix = $1 == 'https' ? 's' : 'p'
|
50
|
-
opts[:i] = prefix + opts[:i]
|
51
|
-
|
52
|
-
data = []
|
53
|
-
|
54
|
-
# add base
|
55
|
-
data.push Base64.urlsafe_encode64(opts.to_json).gsub(/=*\s*$/, '')
|
56
|
-
|
57
|
-
# add check, 2 chars
|
58
|
-
data.push Digest::SHA1.hexdigest(get(:secret)+data.first)[0,2]
|
59
|
-
|
60
|
-
# add extension
|
61
|
-
ext = opts[:i].split('.').last.to_s.downcase
|
62
|
-
ext = 'jpg' unless ['jpg', 'jpeg', 'gif', 'png', 'svg'].index(ext)
|
63
|
-
data.push '.%s' % ext
|
64
|
-
|
65
|
-
# return full url
|
66
|
-
[get(:server), data.join('')].join('/r/')
|
67
|
-
end
|
68
|
-
end
|
1
|
+
require_relative 'lib/rack_image_resizer'
|
2
|
+
require_relative 'lib/string'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack_image_resizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dino Reic
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fast_blank
|
@@ -32,12 +32,11 @@ extensions: []
|
|
32
32
|
extra_rdoc_files: []
|
33
33
|
files:
|
34
34
|
- "./lib/rack_image_resizer.rb"
|
35
|
-
- "./lib/string.rb"
|
36
35
|
homepage: https://github.com/dux/rack_image_resizer
|
37
36
|
licenses:
|
38
37
|
- MIT
|
39
38
|
metadata: {}
|
40
|
-
post_install_message:
|
39
|
+
post_install_message:
|
41
40
|
rdoc_options: []
|
42
41
|
require_paths:
|
43
42
|
- lib
|
@@ -53,7 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
52
|
version: '0'
|
54
53
|
requirements: []
|
55
54
|
rubygems_version: 3.0.6
|
56
|
-
signing_key:
|
55
|
+
signing_key:
|
57
56
|
specification_version: 4
|
58
57
|
summary: Ruby rack image resizer
|
59
58
|
test_files: []
|
data/lib/string.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
unless ''.respond_to?(:resized)
|
2
|
-
class ::String
|
3
|
-
# "http://foo.jpg".resized({ s: "222x222", q: 80 }
|
4
|
-
# "http://foo.jpg".resized("^200x200")
|
5
|
-
# "http://foo.jpg".resized(200)
|
6
|
-
# "http://foo.jpg".resized_image - expcts size as param
|
7
|
-
def resized opts=nil
|
8
|
-
opts ||= {}
|
9
|
-
opts = { s: opts } unless opts.is_a?(Hash)
|
10
|
-
opts[:i] = self
|
11
|
-
|
12
|
-
RackImageResizer.build opts
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|