image_optim 0.26.2 → 0.27.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.appveyor.yml +9 -2
- data/.rubocop.yml +38 -10
- data/.travis.yml +19 -15
- data/CHANGELOG.markdown +21 -0
- data/Gemfile +3 -1
- data/LICENSE.txt +1 -1
- data/README.markdown +9 -3
- data/Vagrantfile +2 -0
- data/bin/image_optim +1 -0
- data/image_optim.gemspec +5 -7
- data/lib/image_optim.rb +5 -0
- data/lib/image_optim/bin_resolver.rb +5 -0
- data/lib/image_optim/bin_resolver/bin.rb +45 -19
- data/lib/image_optim/bin_resolver/comparable_condition.rb +3 -0
- data/lib/image_optim/bin_resolver/error.rb +2 -0
- data/lib/image_optim/bin_resolver/simple_version.rb +2 -0
- data/lib/image_optim/cache.rb +3 -0
- data/lib/image_optim/cache_path.rb +21 -2
- data/lib/image_optim/cmd.rb +2 -0
- data/lib/image_optim/config.rb +7 -1
- data/lib/image_optim/configuration_error.rb +2 -0
- data/lib/image_optim/handler.rb +4 -0
- data/lib/image_optim/hash_helpers.rb +2 -0
- data/lib/image_optim/image_meta.rb +2 -0
- data/lib/image_optim/non_negative_integer_range.rb +2 -0
- data/lib/image_optim/optimized_path.rb +3 -1
- data/lib/image_optim/option_definition.rb +2 -0
- data/lib/image_optim/option_helpers.rb +2 -0
- data/lib/image_optim/path.rb +30 -5
- data/lib/image_optim/runner.rb +3 -0
- data/lib/image_optim/runner/glob_helpers.rb +3 -1
- data/lib/image_optim/runner/option_parser.rb +4 -2
- data/lib/image_optim/space.rb +3 -1
- data/lib/image_optim/true_false_nil.rb +2 -0
- data/lib/image_optim/worker.rb +5 -0
- data/lib/image_optim/worker/advpng.rb +2 -0
- data/lib/image_optim/worker/class_methods.rb +5 -0
- data/lib/image_optim/worker/gifsicle.rb +2 -0
- data/lib/image_optim/worker/jhead.rb +4 -1
- data/lib/image_optim/worker/jpegoptim.rb +2 -0
- data/lib/image_optim/worker/jpegrecompress.rb +2 -0
- data/lib/image_optim/worker/jpegtran.rb +2 -0
- data/lib/image_optim/worker/optipng.rb +4 -2
- data/lib/image_optim/worker/pngcrush.rb +4 -2
- data/lib/image_optim/worker/pngout.rb +3 -0
- data/lib/image_optim/worker/pngquant.rb +2 -0
- data/lib/image_optim/worker/svgo.rb +2 -0
- data/script/update_worker_options_in_readme +3 -2
- data/script/worker_analysis +13 -3
- data/spec/image_optim/bin_resolver/comparable_condition_spec.rb +2 -0
- data/spec/image_optim/bin_resolver/simple_version_spec.rb +2 -0
- data/spec/image_optim/bin_resolver_spec.rb +4 -2
- data/spec/image_optim/cache_path_spec.rb +71 -26
- data/spec/image_optim/cache_spec.rb +4 -0
- data/spec/image_optim/cmd_spec.rb +2 -0
- data/spec/image_optim/config_spec.rb +2 -0
- data/spec/image_optim/handler_spec.rb +2 -0
- data/spec/image_optim/hash_helpers_spec.rb +2 -0
- data/spec/image_optim/image_meta_spec.rb +2 -0
- data/spec/image_optim/optimized_path_spec.rb +2 -0
- data/spec/image_optim/option_definition_spec.rb +2 -0
- data/spec/image_optim/option_helpers_spec.rb +2 -0
- data/spec/image_optim/path_spec.rb +65 -24
- data/spec/image_optim/runner/glob_helpers_spec.rb +2 -0
- data/spec/image_optim/runner/option_parser_spec.rb +2 -0
- data/spec/image_optim/space_spec.rb +13 -11
- data/spec/image_optim/worker/optipng_spec.rb +2 -0
- data/spec/image_optim/worker/pngquant_spec.rb +2 -0
- data/spec/image_optim/worker_spec.rb +2 -0
- data/spec/image_optim_spec.rb +7 -4
- data/spec/images/invisiblepixels/generate +1 -0
- data/spec/images/quant/generate +3 -2
- data/spec/spec_helper.rb +3 -0
- metadata +18 -13
@@ -1,20 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
require 'image_optim/space'
|
3
5
|
|
4
6
|
describe ImageOptim::Space do
|
5
7
|
describe '.space' do
|
6
8
|
{
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}.each do |
|
9
|
+
' ' => 0,
|
10
|
+
' 1B' => 1,
|
11
|
+
' 10B' => 10,
|
12
|
+
' 100B' => 100,
|
13
|
+
' 1000B' => 1_000,
|
14
|
+
' 9.8K' => 10_000,
|
15
|
+
' 97.7K' => 100_000,
|
16
|
+
'976.6K' => 1_000_000,
|
17
|
+
' 9.5M' => 10_000_000,
|
18
|
+
' 95.4M' => 100_000_000,
|
19
|
+
}.each do |space, size|
|
18
20
|
it "converts #{size} to #{space}" do
|
19
21
|
expect(described_class.space(size)).to eq(space)
|
20
22
|
end
|
data/spec/image_optim_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
require 'image_optim'
|
3
5
|
require 'image_optim/cmd'
|
@@ -21,10 +23,11 @@ describe ImageOptim do
|
|
21
23
|
stub_const('Cmd', ImageOptim::Cmd)
|
22
24
|
end
|
23
25
|
|
24
|
-
isolated_options_base =
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
isolated_options_base = Hash[
|
27
|
+
ImageOptim::Worker.klasses.map do |klass|
|
28
|
+
[klass.bin_sym, false]
|
29
|
+
end
|
30
|
+
].merge(:skip_missing_workers => false)
|
28
31
|
|
29
32
|
ImageOptim::Worker.klasses.each do |worker_klass|
|
30
33
|
describe "#{worker_klass.bin_sym} worker" do
|
data/spec/images/quant/generate
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
Dir.chdir(File.dirname(__FILE__))
|
4
5
|
|
@@ -16,8 +17,8 @@ palettes.each do |palette|
|
|
16
17
|
rgb:-
|
17
18
|
PNG24:#{palette}.png
|
18
19
|
].shelljoin, 'w') do |f|
|
19
|
-
(side
|
20
|
-
color = i * palette / (side
|
20
|
+
(side**2).times do |i|
|
21
|
+
color = i * palette / (side**2) * 0x10000 / palette
|
21
22
|
f << [color / 0x100, color % 0x100, 0].pack('C*')
|
22
23
|
end
|
23
24
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
if ENV['CODECLIMATE']
|
2
4
|
require 'simplecov'
|
3
5
|
SimpleCov.start
|
@@ -53,6 +55,7 @@ def mepp(image_a, image_b)
|
|
53
55
|
unless [0, 1].include?($CHILD_STATUS.exitstatus)
|
54
56
|
fail "compare #{image_a} with #{image_b} failed with `#{output}`"
|
55
57
|
end
|
58
|
+
|
56
59
|
num_r = '\d+(?:\.\d+(?:[eE][-+]?\d+)?)?'
|
57
60
|
output[/\((#{num_r}), #{num_r}\)/, 1].to_f
|
58
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_optim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.27.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Kuchin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fspath
|
@@ -138,16 +138,22 @@ dependencies:
|
|
138
138
|
requirements:
|
139
139
|
- - "~>"
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version: '0.
|
141
|
+
version: '0.59'
|
142
|
+
- - "!="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 0.78.0
|
142
145
|
type: :development
|
143
146
|
prerelease: false
|
144
147
|
version_requirements: !ruby/object:Gem::Requirement
|
145
148
|
requirements:
|
146
149
|
- - "~>"
|
147
150
|
- !ruby/object:Gem::Version
|
148
|
-
version: '0.
|
149
|
-
|
150
|
-
|
151
|
+
version: '0.59'
|
152
|
+
- - "!="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: 0.78.0
|
155
|
+
description:
|
156
|
+
email:
|
151
157
|
executables:
|
152
158
|
- image_optim
|
153
159
|
extensions: []
|
@@ -257,13 +263,13 @@ files:
|
|
257
263
|
- spec/spec_helper.rb
|
258
264
|
- vendor/jpegrescan
|
259
265
|
- vendor/jpegrescan.bat
|
260
|
-
homepage:
|
266
|
+
homepage: https://github.com/toy/image_optim
|
261
267
|
licenses:
|
262
268
|
- MIT
|
263
269
|
metadata:
|
264
270
|
bug_tracker_uri: https://github.com/toy/image_optim/issues
|
265
|
-
changelog_uri: https://github.com/toy/image_optim/CHANGELOG.markdown
|
266
|
-
documentation_uri: https://www.rubydoc.info/gems/image_optim/0.
|
271
|
+
changelog_uri: https://github.com/toy/image_optim/blob/master/CHANGELOG.markdown
|
272
|
+
documentation_uri: https://www.rubydoc.info/gems/image_optim/0.27.1
|
267
273
|
source_code_uri: https://github.com/toy/image_optim
|
268
274
|
post_install_message: |
|
269
275
|
Rails image assets optimization is extracted into image_optim_rails gem
|
@@ -282,9 +288,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
288
|
- !ruby/object:Gem::Version
|
283
289
|
version: '0'
|
284
290
|
requirements: []
|
285
|
-
|
286
|
-
|
287
|
-
signing_key:
|
291
|
+
rubygems_version: 3.1.4
|
292
|
+
signing_key:
|
288
293
|
specification_version: 4
|
289
294
|
summary: Command line tool and ruby interface to optimize (lossless compress, optionally
|
290
295
|
lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle,
|