image_optimizer 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZGQwZDcwZDNiZjQ5ODMwNTEzNzU3ZWY2MzM5MzMzMDg2Zjk3Y2YzNg==
4
+ N2Q4ZWYzYjZjMWMzYTkwMTUxNTExMzBkNTFjNjZkNTBmNGFjODJiZQ==
5
5
  data.tar.gz: !binary |-
6
- Zjc2OGU1NGQyNzFhMDcxMDVkYzQ5OWJjMDliMjgwZjAxNzliZjg5Mg==
6
+ ODc5MzY0MzA4NjY2YTgzZTYzZDUzZTA2MDBmMzBmY2Q2OGZhZGVkMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWI3ZDQ2YjgxNzVjYjk5ZGY5NDE3ZDZjY2RjNGM1MGI3NmQ4MDA5OTc2MDk2
10
- MzEwZmIxOTMwNTdiMmEzNzg1YzU3MjgwNGRkY2RmMDc1NjdhNWVhMjI2M2Vj
11
- MmVkZTdkMTc1MjI1MDRiMTI5MzNjZGU3ZWYxNWJhMmUxNTcxNjU=
9
+ MTM3MjhhYmEwZTJjNTI4Y2MxYTcxOGM3M2ZiZTk5Nzk2NTUzMjA4ZWE1NmU2
10
+ YmFhMzhjNjRhNzY1NTVkMjk5ZWI0MDNhOTYxNDc5MTU5ZWU3NmJhMWQ4NThh
11
+ YjYyNjg2YjMyMzhmYjI3ODMxOTdiNzU5OTgxOWFmODBmZWFmYjY=
12
12
  data.tar.gz: !binary |-
13
- ZTk1ZGM2M2IzMTQ0ZDZlM2Q3MGRlYmQwZTk3OWUwZTcwMjQzNWFmYzYzMmJl
14
- YjVjMDc4YzAwNTViOTA1NTA4ZGQzMDgwOGIzYWI0NmYxMGU0NDdiMTk0NzVj
15
- YmVjOTlmM2ZjMmM4OGNhMGU2NWM0NjZkNjkxYTA3ZjdiYjUzNWY=
13
+ NDdlZTM1N2Q3YTMwMWNhNGQxZDQ4Mzc3Mjg5ZWIzM2NmYzY2Y2IzOWQzNGVj
14
+ N2M1YjlkMmU3ZTU0MjQ0N2VjMWVhZTA3NWQ3YTNhYjM2Nzc1YWM4MDUxZWFl
15
+ Njc2OGMzMDllYThjNGE3NWQzZDU5ZThhMjI2MDc1MmJmNGJhMDU=
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/.travis.yml CHANGED
@@ -7,7 +7,15 @@ rvm:
7
7
  - 1.9.2
8
8
  - 1.9.3
9
9
  - 2.0.0
10
+ - 2.1.0
10
11
  - ruby-head
11
- - rbx-18mode
12
- - rbx-19mode
12
+ - rbx-2.1.0
13
+ - rbx-2.2.0
13
14
  - ree
15
+ matrix:
16
+ allow_failures:
17
+ - rvm: jruby-18mode
18
+ - rvm: 1.8.7
19
+ - rvm: rbx-2.1.0
20
+ - rvm: rbx-2.2.0
21
+ - rvm: ree
data/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  This gem allows you to simply optimize images via jpegoptim or OptiPNG.
4
4
 
5
- Tested against ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, ruby-head, jruby-18mode, jruby-19mode, jruby-head, rbx-18mode,
6
- rbx-19mode, and ree
5
+ Tested against ruby 1.8.7, 1.9.2, 1.9.3, 2.0.0, 2.1.0, ruby-head, jruby-18mode, jruby-19mode, jruby-head, rbx-2.1.0,
6
+ rbx-2.2.0, and ree
7
7
 
8
8
  [![Build Status](https://secure.travis-ci.org/jtescher/image_optimizer.png)]
9
9
  (http://travis-ci.org/jtescher/image_optimizer)
@@ -64,6 +64,17 @@ All jpegs will be progressively optimized for a better web experience
64
64
  ImageOptimizer.new('path/to/file.jpg').optimize
65
65
  ```
66
66
 
67
+ ## Optimization Options
68
+
69
+ ##### Quiet optimization
70
+
71
+ To have optimization performed in quiet mode without logging progress, an optional `quiet` parameter may be passed.
72
+ Default is false.
73
+
74
+ ```ruby
75
+ ImageOptimizer.new('path/to/file.jpg', quiet: true).optimize
76
+ ```
77
+
67
78
  ##### Lossy JPEG optimization
68
79
 
69
80
  Pass an optional `quality` parameter to target a specific lossy JPG quality level (0-100), default is lossless
@@ -12,6 +12,6 @@ class ImageOptimizer
12
12
 
13
13
  def optimize
14
14
  JPEGOptimizer.new(path, options).optimize
15
- PNGOptimizer.new(path).optimize
15
+ PNGOptimizer.new(path, options).optimize
16
16
  end
17
17
  end
@@ -1,10 +1,10 @@
1
1
  class ImageOptimizer
2
2
  class JPEGOptimizer
3
- attr_reader :path, :quality
3
+ attr_reader :path, :options
4
4
 
5
5
  def initialize(path, options = {})
6
6
  @path = path
7
- @quality = options[:quality]
7
+ @options = options
8
8
  end
9
9
 
10
10
  def optimize
@@ -28,11 +28,22 @@ class ImageOptimizer
28
28
  end
29
29
 
30
30
  def optimize_jpeg
31
- system "#{jpeg_optimizer_bin} -f --strip-all #{optional_max_quality} --all-progressive #{path}"
31
+ system(jpeg_optimizer_bin, *command_options)
32
32
  end
33
33
 
34
- def optional_max_quality
35
- "--max=#{quality}" if (0..100).include?(quality)
34
+ def command_options
35
+ flags = ['-f', '--strip-all', '--all-progressive']
36
+ flags << max_quantity if (0..100).include?(options[:quality])
37
+ flags << quiet if options[:quiet]
38
+ flags << path
39
+ end
40
+
41
+ def max_quantity
42
+ "--max=#{options[:quality]}"
43
+ end
44
+
45
+ def quiet
46
+ '--quiet'
36
47
  end
37
48
 
38
49
  def jpeg_optimizer_present?
@@ -1,9 +1,10 @@
1
1
  class ImageOptimizer
2
2
  class PNGOptimizer
3
- attr_reader :path
3
+ attr_reader :path, :options
4
4
 
5
- def initialize(path)
5
+ def initialize(path, options = {})
6
6
  @path = path
7
+ @options = options
7
8
  end
8
9
 
9
10
  def optimize
@@ -27,7 +28,17 @@ class ImageOptimizer
27
28
  end
28
29
 
29
30
  def optimize_png
30
- system "#{png_optimizer_bin} -o7 #{path}"
31
+ system(png_optimizer_bin, *command_options)
32
+ end
33
+
34
+ def command_options
35
+ flags = %w[-o7]
36
+ flags << quiet if options[:quiet]
37
+ flags << path
38
+ end
39
+
40
+ def quiet
41
+ '-quiet'
31
42
  end
32
43
 
33
44
  def png_optimizer_present?
@@ -1,3 +1,3 @@
1
1
  class ImageOptimizer
2
- VERSION = '1.2.0'
2
+ VERSION = '1.2.1'
3
3
  end
@@ -2,13 +2,12 @@ require 'spec_helper'
2
2
 
3
3
  describe ImageOptimizer::JPEGOptimizer do
4
4
  describe '#optimize' do
5
- let(:file_path) { '/path/to/file.jpg' }
6
- let(:jpeg_optimizer) { ImageOptimizer::JPEGOptimizer.new(file_path) }
5
+ let(:jpeg_optimizer) { ImageOptimizer::JPEGOptimizer.new('/path/to/file.jpg') }
7
6
 
8
7
  it 'optimizes the jpeg' do
9
8
  jpeg_optimizer.stub(:jpeg_optimizer_bin => '/usr/local/bin/jpegoptim')
10
- optimizer_options = '-f --strip-all --all-progressive'
11
- jpeg_optimizer.should_receive(:system).with("/usr/local/bin/jpegoptim #{optimizer_options} #{file_path}")
9
+ optimizer_options = %w[-f --strip-all --all-progressive /path/to/file.jpg]
10
+ jpeg_optimizer.should_receive(:system).with('/usr/local/bin/jpegoptim', *optimizer_options)
12
11
  jpeg_optimizer.optimize
13
12
  end
14
13
 
@@ -21,16 +20,24 @@ describe ImageOptimizer::JPEGOptimizer do
21
20
  it 'detects if there is an ENV variable path to jpegoptim' do
22
21
  image_optim_jpegoptim_bin_path = '/app/vendor/bundle/ruby/2.0.0/gems/image_optim_bin-0.0.2/bin/jpegoptim'
23
22
  ENV['JPEGOPTIM_BIN'] = image_optim_jpegoptim_bin_path
24
- optimizer_options = '-f --strip-all --all-progressive'
25
- jpeg_optimizer.should_receive(:system).with("#{image_optim_jpegoptim_bin_path} #{optimizer_options} #{file_path}")
23
+ optimizer_options = %w[-f --strip-all --all-progressive /path/to/file.jpg]
24
+ jpeg_optimizer.should_receive(:system).with(image_optim_jpegoptim_bin_path, *optimizer_options)
26
25
  jpeg_optimizer.optimize
27
26
  end
28
27
 
29
28
  it 'accepts an optional quality parameter' do
30
- jpeg_optimizer = ImageOptimizer::JPEGOptimizer.new(file_path, :quality => 50)
29
+ jpeg_optimizer = ImageOptimizer::JPEGOptimizer.new('/path/to/file.jpg', :quality => 50)
31
30
  jpeg_optimizer.stub(:jpeg_optimizer_bin => '/usr/local/bin/jpegoptim')
32
- optimizer_options = '-f --strip-all --max=50 --all-progressive'
33
- jpeg_optimizer.should_receive(:system).with("/usr/local/bin/jpegoptim #{optimizer_options} #{file_path}")
31
+ optimizer_options = %w[-f --strip-all --all-progressive --max=50 /path/to/file.jpg]
32
+ jpeg_optimizer.should_receive(:system).with('/usr/local/bin/jpegoptim', *optimizer_options)
33
+ jpeg_optimizer.optimize
34
+ end
35
+
36
+ it 'accepts an optional quiet parameter' do
37
+ jpeg_optimizer = ImageOptimizer::JPEGOptimizer.new('/path/to/file.jpg', :quiet => true)
38
+ jpeg_optimizer.stub(:jpeg_optimizer_bin => '/usr/local/bin/jpegoptim')
39
+ optimizer_options = %w[-f --strip-all --all-progressive --quiet /path/to/file.jpg]
40
+ jpeg_optimizer.should_receive(:system).with('/usr/local/bin/jpegoptim', *optimizer_options)
34
41
  jpeg_optimizer.optimize
35
42
  end
36
43
  end
@@ -2,12 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe ImageOptimizer::PNGOptimizer do
4
4
  describe '#optimize' do
5
- let(:file_path) { '/path/to/file.png' }
6
- let(:png_optimizer) { ImageOptimizer::PNGOptimizer.new(file_path) }
5
+ let(:png_optimizer) { ImageOptimizer::PNGOptimizer.new('/path/to/file.png') }
7
6
 
8
7
  it 'optimizes the png' do
9
8
  png_optimizer.stub(:png_optimizer_bin => '/usr/local/bin/optipng')
10
- png_optimizer.should_receive(:system).with("/usr/local/bin/optipng -o7 #{file_path}")
9
+ png_optimizer.should_receive(:system).with('/usr/local/bin/optipng', '-o7', '/path/to/file.png')
11
10
  png_optimizer.optimize
12
11
  end
13
12
 
@@ -20,7 +19,14 @@ describe ImageOptimizer::PNGOptimizer do
20
19
  it 'detects if there is an ENV variable path to optipng' do
21
20
  image_optim_optipng_bin_path = '/app/vendor/bundle/ruby/2.0.0/gems/image_optim_bin-0.0.2/bin/optipng'
22
21
  ENV['OPTIPNG_BIN'] = image_optim_optipng_bin_path
23
- png_optimizer.should_receive(:system).with("#{image_optim_optipng_bin_path} -o7 #{file_path}")
22
+ png_optimizer.should_receive(:system).with(image_optim_optipng_bin_path, '-o7', '/path/to/file.png')
23
+ png_optimizer.optimize
24
+ end
25
+
26
+ it 'accepts an optional quiet parameter' do
27
+ png_optimizer = ImageOptimizer::PNGOptimizer.new('/path/to/file.png', :quiet => true)
28
+ png_optimizer.stub(:png_optimizer_bin => '/usr/local/bin/optipng')
29
+ png_optimizer.should_receive(:system).with('/usr/local/bin/optipng', '-o7', '-quiet', '/path/to/file.png')
24
30
  png_optimizer.optimize
25
31
  end
26
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: image_optimizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Tescher
@@ -35,7 +35,7 @@ cert_chain:
35
35
  V3NaK2F3dzJpU05DNVhGaEEvOHhzSzBCbHRZUkY5blAKSEE0MVV0RHhySmtI
36
36
  TDNOMXo4Z1BNWFNyRlQ0MUZSMndnazgrbDE0UCs3ZzFVVFBpZDJFSXdmdDJ4
37
37
  T2JGZUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
38
- date: 2013-12-04 00:00:00.000000000 Z
38
+ date: 2013-12-30 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rspec
@@ -151,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  version: '0'
152
152
  requirements: []
153
153
  rubyforge_project:
154
- rubygems_version: 2.1.5
154
+ rubygems_version: 2.1.11
155
155
  signing_key:
156
156
  specification_version: 4
157
157
  summary: Simply optimize images via jpegoptim or OptiPNG
metadata.gz.sig CHANGED
Binary file