image_vise 0.2.4 → 0.2.6
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 +4 -4
- data/README.md +13 -1
- data/image_vise.gemspec +3 -3
- data/lib/image_vise/render_engine.rb +6 -3
- data/lib/image_vise/version.rb +1 -1
- data/spec/image_vise/render_engine_spec.rb +3 -1
- metadata +15 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 037b10ccb40b25cf245f7751d99085e67cca8552
|
4
|
+
data.tar.gz: 43a7c0779a8ee07bc6a1da19bf98e1ca41c091c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b9e8e91a62ccabe54fe2fa12c24dc2ef6e2b8c64f63e2f7d90d62ace373e7cef776c3fab84d0823ab3577340a6eb202e4077acc8ebbbabb26e2f5dc168b6138
|
7
|
+
data.tar.gz: 51b7013be378b9e72faa23f6d9c94895ce11915622509459406da9814ba5388d1c1ef99d8d0b183c5ab9c04a2359d01ce40fc350fe9738d18cd4f5c9b09dadbd
|
data/README.md
CHANGED
@@ -20,6 +20,18 @@ A request to `ImageVise` might look like this:
|
|
20
20
|
The URL that gets generated is best composed with the included `ImageVise.image_params` method. This method will
|
21
21
|
take care of encoding the source URL and the commands in the right way, as well as signing.
|
22
22
|
|
23
|
+
## ImageMagick version workaround
|
24
|
+
|
25
|
+
As specified in [this StackOverflow answer](https://stackoverflow.com/questions/41647979/imagemagick-7-with-rmagick-2-16-on-macos-sierra-cant-find-magickwand-h/41747901#41747901) you need to install ImageMagick 6 from keg on OSX since RMagick cannot yet cope with ImageMagick 7.
|
26
|
+
|
27
|
+
```
|
28
|
+
$ brew rm imagemagick
|
29
|
+
$ brew install imagemagick@6 --with-little-cms --with-little-cms2
|
30
|
+
$ brew link imagemagick@6 --force
|
31
|
+
$ export PATH=$PATH:$(brew --prefix imagemagick@6)/bin
|
32
|
+
bundle install
|
33
|
+
```
|
34
|
+
|
23
35
|
## Using ImageVise within a Rails application
|
24
36
|
|
25
37
|
Mount ImageVise in your `routes.rb`:
|
@@ -211,4 +223,4 @@ The licensing terms also apply to the `waterside_magic_hour.jpg` test image.
|
|
211
223
|
The `worker_in_tube.jpg` is used with permission from Arcadis Nederland B.V.
|
212
224
|
|
213
225
|
The sRGB color profiles are [downloaded from the ICC](http://www.color.org/srgbprofiles.xalter) and it's
|
214
|
-
use is governed by the terms present in the LICENSE.txt
|
226
|
+
use is governed by the terms present in the LICENSE.txt
|
data/image_vise.gemspec
CHANGED
@@ -31,12 +31,12 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency 'rmagick', '~> 2.15'
|
32
32
|
spec.add_dependency 'ks'
|
33
33
|
spec.add_dependency 'magic_bytes', '~> 1'
|
34
|
-
spec.add_dependency 'rack', '
|
34
|
+
spec.add_dependency 'rack', '>= 1', '< 3'
|
35
35
|
|
36
36
|
spec.add_development_dependency "bundler", "~> 1.7"
|
37
|
-
spec.add_development_dependency "rake", "~>
|
37
|
+
spec.add_development_dependency "rake", "~> 12.2"
|
38
38
|
spec.add_development_dependency "rack-test"
|
39
|
-
spec.add_development_dependency "rspec", "~> 3
|
39
|
+
spec.add_development_dependency "rspec", "~> 3"
|
40
40
|
spec.add_development_dependency "addressable"
|
41
41
|
spec.add_development_dependency "strenv"
|
42
42
|
spec.add_development_dependency "simplecov"
|
@@ -109,9 +109,12 @@
|
|
109
109
|
# Prevent cache bypass DOS attacks by only permitting :sig and :q
|
110
110
|
bail(400, 'Query strings are not supported') if rack_request.params.any?
|
111
111
|
|
112
|
-
#
|
113
|
-
#
|
114
|
-
# to worry about them.
|
112
|
+
# Take the last two path components of the request URI.
|
113
|
+
# The second-to-last is the Base64-encoded image request, the last is the signature.
|
114
|
+
# Slashes within the image request are masked out already, no need to worry about them.
|
115
|
+
# Parameters are passed in the path so that ImageVise integrates easier with CDNs and so that
|
116
|
+
# it becomes harder to blow the cache by appending spurious query string parameters and/or
|
117
|
+
# reordering query string parameters at will.
|
115
118
|
*, q_from_path, sig_from_path = rack_request.path_info.split('/')
|
116
119
|
|
117
120
|
# Raise if any of them are empty or blank
|
data/lib/image_vise/version.rb
CHANGED
@@ -5,6 +5,9 @@ describe ImageVise::RenderEngine do
|
|
5
5
|
include Rack::Test::Methods
|
6
6
|
|
7
7
|
let(:app) { ImageVise::RenderEngine.new }
|
8
|
+
before :each do
|
9
|
+
ImageVise.reset_cache_lifetime_seconds!
|
10
|
+
end
|
8
11
|
|
9
12
|
context 'when the subclass is configured to raise exceptions' do
|
10
13
|
after :each do
|
@@ -37,7 +40,6 @@ describe ImageVise::RenderEngine do
|
|
37
40
|
after :each do
|
38
41
|
ImageVise.reset_allowed_hosts!
|
39
42
|
ImageVise.reset_secret_keys!
|
40
|
-
ImageVise.reset_cache_lifetime_seconds!
|
41
43
|
end
|
42
44
|
|
43
45
|
it 'halts with 400 when the requested image cannot be opened by ImageMagick' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_vise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julik Tarkhanov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: patron
|
@@ -70,16 +70,22 @@ dependencies:
|
|
70
70
|
name: rack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1'
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '3'
|
76
79
|
type: :runtime
|
77
80
|
prerelease: false
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
79
82
|
requirements:
|
80
|
-
- - "
|
83
|
+
- - ">="
|
81
84
|
- !ruby/object:Gem::Version
|
82
85
|
version: '1'
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: bundler
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +106,14 @@ dependencies:
|
|
100
106
|
requirements:
|
101
107
|
- - "~>"
|
102
108
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
109
|
+
version: '12.2'
|
104
110
|
type: :development
|
105
111
|
prerelease: false
|
106
112
|
version_requirements: !ruby/object:Gem::Requirement
|
107
113
|
requirements:
|
108
114
|
- - "~>"
|
109
115
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
116
|
+
version: '12.2'
|
111
117
|
- !ruby/object:Gem::Dependency
|
112
118
|
name: rack-test
|
113
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +134,14 @@ dependencies:
|
|
128
134
|
requirements:
|
129
135
|
- - "~>"
|
130
136
|
- !ruby/object:Gem::Version
|
131
|
-
version: '3
|
137
|
+
version: '3'
|
132
138
|
type: :development
|
133
139
|
prerelease: false
|
134
140
|
version_requirements: !ruby/object:Gem::Requirement
|
135
141
|
requirements:
|
136
142
|
- - "~>"
|
137
143
|
- !ruby/object:Gem::Version
|
138
|
-
version: '3
|
144
|
+
version: '3'
|
139
145
|
- !ruby/object:Gem::Dependency
|
140
146
|
name: addressable
|
141
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,7 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
288
|
version: '0'
|
283
289
|
requirements: []
|
284
290
|
rubyforge_project:
|
285
|
-
rubygems_version: 2.
|
291
|
+
rubygems_version: 2.6.11
|
286
292
|
signing_key:
|
287
293
|
specification_version: 4
|
288
294
|
summary: Runtime thumbnailing proxy
|