rack_image_resizer 1.4.3 → 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: a6060590cc518a4ff835f313173e037162f0b324a220b6dba417a21864d6b185
4
- data.tar.gz: 28215d1d453c5109fdec4b03c0fce50eb40ef18b4e3348de55307112932fcae1
3
+ metadata.gz: 5dfb54bde3fb62dd29787bfba1d0471882d738d1f64d796ce7caa94f484b6109
4
+ data.tar.gz: 8209def65df66809e5b78d6130ec8298fc9b940ad2121092eb5387bd0652829c
5
5
  SHA512:
6
- metadata.gz: 1c74cb8b1f4c7fd3a8d43934d737126621da4e0592d41301d00acac320e1ff9d885dadfbbcc79c70cae7b1a88bb18622a94af327732698050f19e9497b36a798
7
- data.tar.gz: e7c9c73d5765704f5cbd10b9d1cd4f0ff3a26c7e6d163be66a665b6714f61ba55e95977d2bc71d347ccd53cf23e44370ab5433b7ab76a458db84a827e90ac3cf
6
+ metadata.gz: a49337a63990cb77b1a741cc29f092c0df0f3b586db531cc42a1bd515d207b183789e409b39ac92eaf9c38a217d26310f0b419543f5294c99aa11965444fcac0
7
+ data.tar.gz: 5f267e95be00cba99a6284a4b99f19d2baf6d0c5bd30856bf16aa0b2514e7acbba539ffd7e6edc3b41fdf45b49f2c3a14bbd84328874c9d1214faf1c616a283e
@@ -1,52 +1,2 @@
1
- # encodes resized image URLs
2
-
3
- require 'base64'
4
- require_relative 'string'
5
-
6
- module ::RackImageResizer
7
- extend self
8
-
9
- def set name, value
10
- raise 'not allowed' unless [:secret, :url, :host].include?(name)
11
- instance_variable_set '@%s' % name, value
12
- end
13
-
14
- def get name
15
- instance_variable_get('@%s' % name) || ENV.fetch('RESIZER_%s' % name.to_s.upcase)
16
- end
17
-
18
- ###
19
-
20
- def build opts
21
- opts[:i] ||= opts.delete(:image)
22
- opts[:s] ||= opts.delete(:size) if opts[:size]
23
-
24
- # return empty pixel unless self
25
- return "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" if opts[:i].to_s == ''
26
-
27
- # add host as prefix to image if relative
28
- opts[:i] = get(:host) + opts[:i] if opts[:i][0,1] == '/'
29
-
30
- raise ArgumentError.new('Invalid URL, no https?:// found') unless opts[:i] =~ %r{^https?://}
31
-
32
- opts[:i] = opts[:i].sub(%r{^(\w+)://}, '')
33
- prefix = $1 == 'https' ? 's' : 'p'
34
- opts[:i] = prefix + opts[:i]
35
-
36
- data = []
37
-
38
- # add base
39
- data.push Base64.urlsafe_encode64(opts.to_json).gsub(/=*\s*$/, '')
40
-
41
- # add check
42
- data.push Digest::SHA1.hexdigest(get(:secret)+data.first)[0,4]
43
-
44
- # add extension
45
- ext = opts[:i].split('.').last.to_s.downcase
46
- ext = 'jpg' unless ['jpg', 'jpeg', 'gif', 'png', 'svg'].index(ext)
47
- data.push '.%s' % ext
48
-
49
- # return full url
50
- [get(:url), data.join('')].join('/r/')
51
- end
52
- 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.3
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: 2018-12-12 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
@@ -52,9 +51,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
52
51
  - !ruby/object:Gem::Version
53
52
  version: '0'
54
53
  requirements: []
55
- rubyforge_project:
56
- rubygems_version: 2.7.5
57
- signing_key:
54
+ rubygems_version: 3.0.6
55
+ signing_key:
58
56
  specification_version: 4
59
57
  summary: Ruby rack image resizer
60
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