kontrast 0.6.1 → 0.6.2

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: 2b7368728b076365bef87db885d73b90465a23a4
4
- data.tar.gz: 5bbe03b0ee50223db849389300ba6c16330062bb
3
+ metadata.gz: 2e5150f17ebb77d6b2e4ccabf768e77a34f5ff85
4
+ data.tar.gz: 926687107b868968c53f545432fc52910b964943
5
5
  SHA512:
6
- metadata.gz: b1fb7fde8c74de2c749941f7c9f94c51cfde6a52b28ef69aa7732abe0af98bc19a6d309d96c66d8ec0ebb96f47277881fb88fa68c3f41e931cd2f36baa7b903f
7
- data.tar.gz: 22755e98af73c4e25cb4f1f7fb2f587a29e41e5f155ede81904e76f0af8e6d90fa794f530717cb55644673fbb9109b217c2ee457a75ee58cc97d4937fc6613f7
6
+ metadata.gz: 6517d32d57c3b2341a15b366b2c5de2c737d1cb2ed53db70b2ba5bcb26acdf88f599f7e1460b610e3da856177bdec7fde02fd6ea9af6e22595ce104edfcbf966
7
+ data.tar.gz: a3cb71cdac6916115ad88d06b8c75b80bbd9a07c542af6de639e34115da1e897318fd083a5275c4fec9074827000e666963198a2813e398a4eab17b9cb953afe
@@ -1,7 +1,6 @@
1
1
  module Kontrast
2
2
  class ApiEndpointRunner
3
3
  include ImageUploader
4
- include ThumbnailCreator
5
4
 
6
5
  attr_accessor :diffs
7
6
 
@@ -68,7 +67,7 @@ module Kontrast
68
67
  ['.', '..'].include?(file_name) || file_name.include?('.json')
69
68
  }
70
69
 
71
- create_thumbnails(test, images)
70
+ ThumbnailCreator.create_thumbnails(test, images)
72
71
 
73
72
  # Upload to S3
74
73
  if Kontrast.configuration.run_parallel
@@ -1,7 +1,6 @@
1
1
  module Kontrast
2
2
  class PageRunner
3
3
  include ImageUploader
4
- include ThumbnailCreator
5
4
 
6
5
  attr_reader :diffs
7
6
 
@@ -60,7 +59,7 @@ module Kontrast
60
59
 
61
60
  # Create thumbnails for gallery
62
61
  print "Creating thumbnails... "
63
- create_thumbnails(test, ['test.png', 'production.png', 'diff.png'])
62
+ ThumbnailCreator.create_thumbnails(test, ['test.png', 'production.png', 'diff.png'])
64
63
 
65
64
  # Upload to S3
66
65
  if Kontrast.configuration.run_parallel
@@ -1,18 +1,24 @@
1
1
  module Kontrast
2
- module ThumbnailCreator
2
+ module ThumbnailCreator
3
3
 
4
- def create_thumbnails(test, image_names)
5
- # Load images
6
- images = image_names.map do |image|
7
- Magick::Image.read(File.join(Kontrast.path, test.to_s, image)).first
8
- end
4
+ module_function
9
5
 
10
- # Crop images
11
- Workers.map(images) do |image|
12
- filename = image.filename.split('/').last.split('.').first + "_thumb"
13
- full_path = "#{Kontrast.path}/#{test}/#{filename}.png"
14
- image.resize_to_fill(200, 200, Magick::NorthGravity).write(full_path)
15
- end
16
- end
6
+ def create_thumbnails(test, image_names)
7
+ # Crop images
8
+ Workers.map(image_names) do |image_name|
9
+ src_path = File.join(Kontrast.path, test.to_s, image_name)
10
+
11
+ # Resize to at least 200 width, the crop the top part of the image at 200x200
12
+ # '+repage' means "don't keep the part of the image not shown in the crop"
13
+ # http://www.imagemagick.org/discourse-server/viewtopic.php?t=18545
14
+ options = '-resize "200x200^" -gravity North -crop 200x200+0+0 +repage'
15
+ `convert "#{src_path}" #{options} "#{thumb_path(test, image_name)}"`
16
+ end
17
+ end
18
+
19
+ def thumb_path(test, image_name)
20
+ filename = "#{File.basename(image_name, ".*")}_thumb.png"
21
+ File.join(Kontrast.path, test.to_s, filename)
17
22
  end
23
+ end
18
24
  end
@@ -1,3 +1,3 @@
1
1
  module Kontrast
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ require 'kontrast'
4
+
5
+ describe Kontrast::ThumbnailCreator do
6
+ let(:kontrast_path) { "/path/to/kontrast" }
7
+ let(:test) { "home_1280" }
8
+ let(:image_names) do
9
+ [
10
+ "diff_0.jpg",
11
+ "test_0.jpg",
12
+ "prod_0.jpg",
13
+ ]
14
+ end
15
+
16
+ before do
17
+ allow(Kontrast).to receive(:path).and_return(kontrast_path)
18
+ end
19
+
20
+ describe 'thumb_path' do
21
+ it 'should return a png' do
22
+ image_name = "diff_0.jpg"
23
+
24
+ thumb_path = Kontrast::ThumbnailCreator.thumb_path(test, image_name)
25
+
26
+ expect(thumb_path).to eql "#{kontrast_path}/#{test}/diff_0_thumb.png"
27
+ end
28
+ end
29
+
30
+ describe 'create_thumbnails' do
31
+ it 'creates thumbnails' do
32
+ allow(Kontrast::ThumbnailCreator).to receive(:`)
33
+
34
+ Kontrast::ThumbnailCreator.create_thumbnails(test, image_names)
35
+
36
+
37
+ expect(Kontrast::ThumbnailCreator).to have_received(:`).with(/^convert.*/).exactly(3).times
38
+ end
39
+ end
40
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kontrast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Rubnich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-02 00:00:00.000000000 Z
11
+ date: 2016-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -219,6 +219,7 @@ files:
219
219
  - spec/test_builder_spec.rb
220
220
  - spec/test_spec.rb
221
221
  - spec/test_suite_spec.rb
222
+ - spec/thumbnail_creator_spec.rb
222
223
  homepage: https://github.com/harrystech/kontrast
223
224
  licenses:
224
225
  - MIT
@@ -261,3 +262,4 @@ test_files:
261
262
  - spec/test_builder_spec.rb
262
263
  - spec/test_spec.rb
263
264
  - spec/test_suite_spec.rb
265
+ - spec/thumbnail_creator_spec.rb