rack_image_resizer 1.4.7 → 1.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rack_image_resizer.rb +12 -8
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54fab881b7d16a884721acc9f96fa958263fa5e5707f78f198fbe80ea40ea2c4
4
- data.tar.gz: 2d589eb64de4e0d12647e27fb0051162500c7d22ab43e058a03f3fc8e6602bd6
3
+ metadata.gz: 92daa532b791248750d576e516beb091d452a26babca11c1c272e190f01d4e96
4
+ data.tar.gz: a93f3dfe6fbd3ea88287410dde9289e37e6c3de7affd280e59c659e482d26fa6
5
5
  SHA512:
6
- metadata.gz: 70ad7202de35d22449c08234ddfecadef23ce23cfb6a55d28291c7a128cde2f9007cb7559799e1faac3d3d35e642633dcdf80c7902d74a73976d8dab7a3ba9fb
7
- data.tar.gz: 939a250a1086b7cc8fa0c4a8d299574c1772c7833c02156d78b5051faa96cee04ebc581771b21828622db413249ded712ef74f38fbe8c737b06a4488a14d9f9d
6
+ metadata.gz: 2604b6c579f25b4b581c936f6873ad618f4fdb07ba27e7d041add4ab3bcf2efad57e3f3ba977d7a0f20838048c1dd521aed5844eeb5d6fc7f3b43edd47cd28df
7
+ data.tar.gz: 3d637ae4e2bdbd8aba6515882d7d774b99e92c28e8978c8a78aacae3b145e7b6a4dcbde09ff2cb88f0935528e2734a4e1ff9b83ab4a9f88f0fd2a5078d14b746
@@ -7,7 +7,7 @@ module ::RackImageResizer
7
7
  extend self
8
8
 
9
9
  def set name, value
10
- raise 'not allowed' unless [:secret, :url, :host].include?(name)
10
+ raise 'not allowed' unless [:secret, :server, :host].include?(name)
11
11
  instance_variable_set '@%s' % name, value
12
12
  end
13
13
 
@@ -15,6 +15,10 @@ module ::RackImageResizer
15
15
  instance_variable_get('@%s' % name) || ENV.fetch('RESIZER_%s' % name.to_s.upcase)
16
16
  end
17
17
 
18
+ def prefix_it url
19
+ url[0,1] == '/' ? get(:host) + url : url
20
+ end
21
+
18
22
  ###
19
23
 
20
24
  def build opts
@@ -22,16 +26,16 @@ module ::RackImageResizer
22
26
  opts[:s] ||= opts.delete(:size) if opts[:size]
23
27
  opts[:e] ||= opts.delete(:onerror) if opts[:onerror]
24
28
 
25
- opts[:e] = get(:host) + opts[:e] if opts[:e] && opts[:e] !~ %r{^https?://}
26
-
27
29
  # return empty pixel unless self
28
30
  return "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" if opts[:i].to_s == ''
29
31
 
30
- # add host as prefix to image if relative
31
- opts[:i] = get(:host) + opts[:i] if opts[:i][0,1] == '/'
32
+ # add host as prefix to images if relative given
33
+ opts[:i] = prefix_it opts[:i]
34
+ opts[:e] = prefix_it opts[:e] if opts[:e]
32
35
 
33
36
  raise ArgumentError.new('Invalid URL, no https?:// found') unless opts[:i] =~ %r{^https?://}
34
37
 
38
+ # reduce size of a hash by stripping 'https?://' - 7 characters
35
39
  opts[:i] = opts[:i].sub(%r{^(\w+)://}, '')
36
40
  prefix = $1 == 'https' ? 's' : 'p'
37
41
  opts[:i] = prefix + opts[:i]
@@ -41,8 +45,8 @@ module ::RackImageResizer
41
45
  # add base
42
46
  data.push Base64.urlsafe_encode64(opts.to_json).gsub(/=*\s*$/, '')
43
47
 
44
- # add check
45
- data.push Digest::SHA1.hexdigest(get(:secret)+data.first)[0,4]
48
+ # add check, 2 chars
49
+ data.push Digest::SHA1.hexdigest(get(:secret)+data.first)[0,2]
46
50
 
47
51
  # add extension
48
52
  ext = opts[:i].split('.').last.to_s.downcase
@@ -50,6 +54,6 @@ module ::RackImageResizer
50
54
  data.push '.%s' % ext
51
55
 
52
56
  # return full url
53
- [get(:url), data.join('')].join('/r/')
57
+ [get(:server), data.join('')].join('/r/')
54
58
  end
55
59
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack_image_resizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 1.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dino Reic