rack_image_resizer 1.4.33 → 1.5.1

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
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