image_vise 0.2.4 → 0.2.6

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
  SHA1:
3
- metadata.gz: 6a71e26e83e715290293b8e512fe6f72aaa39098
4
- data.tar.gz: 4dd57c319fe8728e0bc8cf0e2fdd67ab41bc028b
3
+ metadata.gz: 037b10ccb40b25cf245f7751d99085e67cca8552
4
+ data.tar.gz: 43a7c0779a8ee07bc6a1da19bf98e1ca41c091c1
5
5
  SHA512:
6
- metadata.gz: 8c53127c2ef018e94200a23281d6923497d5466d19ae63b8d18ad0a292f3eb6e6615baccee577d01cee774e50b32fa04e6c5e910d2e9a9cd445fc47f5bfb814f
7
- data.tar.gz: f0fbe07c4fb401161714862fff8833300821d51f710140a0f16f6336251243ae48679a4ff5ac9df48970baaed97c4ba4080e0562fcb4c5cf7dbe3b6be437cbc9
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', '~> 1'
34
+ spec.add_dependency 'rack', '>= 1', '< 3'
35
35
 
36
36
  spec.add_development_dependency "bundler", "~> 1.7"
37
- spec.add_development_dependency "rake", "~> 10.0"
37
+ spec.add_development_dependency "rake", "~> 12.2"
38
38
  spec.add_development_dependency "rack-test"
39
- spec.add_development_dependency "rspec", "~> 3.0"
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
- # Extract the tail (signature) and the front (the Base64-encoded request).
113
- # Slashes within :q are masked by ImageRequest already, so we don't have
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
@@ -1,3 +1,3 @@
1
1
  class ImageVise
2
- VERSION = '0.2.4'
2
+ VERSION = '0.2.6'
3
3
  end
@@ -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
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-07-21 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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.0'
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.0'
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.5.2
291
+ rubygems_version: 2.6.11
286
292
  signing_key:
287
293
  specification_version: 4
288
294
  summary: Runtime thumbnailing proxy