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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df2cf73e43b00b681a367bb68804127c8571b2a15922d1319f11e329613d898f
4
- data.tar.gz: cac016cbebac885da1a81637b563a2f42f2408aadcb60da27702ee5abbe43d3c
3
+ metadata.gz: 5dfb54bde3fb62dd29787bfba1d0471882d738d1f64d796ce7caa94f484b6109
4
+ data.tar.gz: 8209def65df66809e5b78d6130ec8298fc9b940ad2121092eb5387bd0652829c
5
5
  SHA512:
6
- metadata.gz: 79fe7490e2de2c795bc10f69b46240c79d45c8db29802e8f9f96abdac1a3954de0478c4b28a201b35ab045e4bb2700c538b0c87c4389b1b42e3df0a0ce7b94b2
7
- data.tar.gz: 2b9ceb29576740a9168388d422e8b125e340e8de3b92a35b072d1d11091549c9d4bb158a06ec8b6ff4afbf1ffaf06454a1241098a514249e1154340f599b46d3
6
+ metadata.gz: a49337a63990cb77b1a741cc29f092c0df0f3b586db531cc42a1bd515d207b183789e409b39ac92eaf9c38a217d26310f0b419543f5294c99aa11965444fcac0
7
+ data.tar.gz: 5f267e95be00cba99a6284a4b99f19d2baf6d0c5bd30856bf16aa0b2514e7acbba539ffd7e6edc3b41fdf45b49f2c3a14bbd84328874c9d1214faf1c616a283e
@@ -1,68 +1,2 @@
1
- # encodes resized image URLs
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.33
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: 2019-12-21 00:00:00.000000000 Z
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