image_optim 0.26.3 → 0.28.0

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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.appveyor.yml +9 -2
  3. data/.rubocop.yml +34 -12
  4. data/.travis.yml +18 -15
  5. data/CHANGELOG.markdown +23 -0
  6. data/CONTRIBUTING.markdown +4 -1
  7. data/Gemfile +3 -1
  8. data/LICENSE.txt +1 -1
  9. data/README.markdown +10 -3
  10. data/Vagrantfile +2 -0
  11. data/bin/image_optim +1 -0
  12. data/image_optim.gemspec +5 -7
  13. data/lib/image_optim.rb +2 -0
  14. data/lib/image_optim/bin_resolver.rb +2 -0
  15. data/lib/image_optim/bin_resolver/bin.rb +4 -0
  16. data/lib/image_optim/bin_resolver/comparable_condition.rb +3 -0
  17. data/lib/image_optim/bin_resolver/error.rb +2 -0
  18. data/lib/image_optim/bin_resolver/simple_version.rb +2 -0
  19. data/lib/image_optim/cache.rb +2 -0
  20. data/lib/image_optim/cache_path.rb +21 -2
  21. data/lib/image_optim/cmd.rb +2 -0
  22. data/lib/image_optim/config.rb +6 -4
  23. data/lib/image_optim/configuration_error.rb +2 -0
  24. data/lib/image_optim/handler.rb +2 -0
  25. data/lib/image_optim/hash_helpers.rb +2 -0
  26. data/lib/image_optim/image_meta.rb +2 -0
  27. data/lib/image_optim/non_negative_integer_range.rb +2 -0
  28. data/lib/image_optim/optimized_path.rb +3 -1
  29. data/lib/image_optim/option_definition.rb +2 -0
  30. data/lib/image_optim/option_helpers.rb +2 -0
  31. data/lib/image_optim/path.rb +30 -5
  32. data/lib/image_optim/runner.rb +2 -0
  33. data/lib/image_optim/runner/glob_helpers.rb +3 -1
  34. data/lib/image_optim/runner/option_parser.rb +5 -2
  35. data/lib/image_optim/space.rb +3 -1
  36. data/lib/image_optim/true_false_nil.rb +2 -0
  37. data/lib/image_optim/worker.rb +1 -0
  38. data/lib/image_optim/worker/advpng.rb +2 -0
  39. data/lib/image_optim/worker/class_methods.rb +4 -0
  40. data/lib/image_optim/worker/gifsicle.rb +2 -0
  41. data/lib/image_optim/worker/jhead.rb +3 -1
  42. data/lib/image_optim/worker/jpegoptim.rb +8 -4
  43. data/lib/image_optim/worker/jpegrecompress.rb +17 -0
  44. data/lib/image_optim/worker/jpegtran.rb +2 -0
  45. data/lib/image_optim/worker/optipng.rb +4 -2
  46. data/lib/image_optim/worker/pngcrush.rb +4 -2
  47. data/lib/image_optim/worker/pngout.rb +2 -0
  48. data/lib/image_optim/worker/pngquant.rb +3 -0
  49. data/lib/image_optim/worker/svgo.rb +2 -0
  50. data/script/update_worker_options_in_readme +4 -3
  51. data/script/worker_analysis +7 -3
  52. data/spec/image_optim/bin_resolver/comparable_condition_spec.rb +2 -0
  53. data/spec/image_optim/bin_resolver/simple_version_spec.rb +2 -0
  54. data/spec/image_optim/bin_resolver_spec.rb +2 -0
  55. data/spec/image_optim/cache_path_spec.rb +71 -26
  56. data/spec/image_optim/cache_spec.rb +5 -1
  57. data/spec/image_optim/cmd_spec.rb +2 -0
  58. data/spec/image_optim/config_spec.rb +2 -0
  59. data/spec/image_optim/handler_spec.rb +2 -0
  60. data/spec/image_optim/hash_helpers_spec.rb +2 -0
  61. data/spec/image_optim/image_meta_spec.rb +2 -0
  62. data/spec/image_optim/optimized_path_spec.rb +2 -0
  63. data/spec/image_optim/option_definition_spec.rb +2 -0
  64. data/spec/image_optim/option_helpers_spec.rb +2 -0
  65. data/spec/image_optim/path_spec.rb +65 -24
  66. data/spec/image_optim/runner/glob_helpers_spec.rb +2 -0
  67. data/spec/image_optim/runner/option_parser_spec.rb +2 -0
  68. data/spec/image_optim/space_spec.rb +13 -11
  69. data/spec/image_optim/worker/jpegrecompress_spec.rb +32 -0
  70. data/spec/image_optim/worker/optipng_spec.rb +2 -0
  71. data/spec/image_optim/worker/pngquant_spec.rb +2 -0
  72. data/spec/image_optim/worker_spec.rb +2 -0
  73. data/spec/image_optim_spec.rb +7 -4
  74. data/spec/images/invisiblepixels/generate +1 -0
  75. data/spec/images/quant/generate +3 -2
  76. data/spec/spec_helper.rb +2 -0
  77. metadata +14 -13
@@ -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 = {:skip_missing_workers => false}
25
- ImageOptim::Worker.klasses.each do |klass|
26
- isolated_options_base[klass.bin_sym] = false
27
- end
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
@@ -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
 
@@ -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 * side).times do |i|
20
- color = i * palette / (side * side) * 0x10000 / palette
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if ENV['CODECLIMATE']
2
4
  require 'simplecov'
3
5
  SimpleCov.start
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.26.3
4
+ version: 0.28.0
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: 2018-10-13 00:00:00.000000000 Z
11
+ date: 2020-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fspath
@@ -138,16 +138,16 @@ dependencies:
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: '0.59'
141
+ version: '1.0'
142
142
  type: :development
143
143
  prerelease: false
144
144
  version_requirements: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: '0.59'
149
- description:
150
- email:
148
+ version: '1.0'
149
+ description:
150
+ email:
151
151
  executables:
152
152
  - image_optim
153
153
  extensions: []
@@ -224,6 +224,7 @@ files:
224
224
  - spec/image_optim/runner/glob_helpers_spec.rb
225
225
  - spec/image_optim/runner/option_parser_spec.rb
226
226
  - spec/image_optim/space_spec.rb
227
+ - spec/image_optim/worker/jpegrecompress_spec.rb
227
228
  - spec/image_optim/worker/optipng_spec.rb
228
229
  - spec/image_optim/worker/pngquant_spec.rb
229
230
  - spec/image_optim/worker_spec.rb
@@ -257,13 +258,13 @@ files:
257
258
  - spec/spec_helper.rb
258
259
  - vendor/jpegrescan
259
260
  - vendor/jpegrescan.bat
260
- homepage: http://github.com/toy/image_optim
261
+ homepage: https://github.com/toy/image_optim
261
262
  licenses:
262
263
  - MIT
263
264
  metadata:
264
265
  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.26.3
266
+ changelog_uri: https://github.com/toy/image_optim/blob/master/CHANGELOG.markdown
267
+ documentation_uri: https://www.rubydoc.info/gems/image_optim/0.28.0
267
268
  source_code_uri: https://github.com/toy/image_optim
268
269
  post_install_message: |
269
270
  Rails image assets optimization is extracted into image_optim_rails gem
@@ -282,9 +283,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
282
283
  - !ruby/object:Gem::Version
283
284
  version: '0'
284
285
  requirements: []
285
- rubyforge_project: image_optim
286
- rubygems_version: 2.7.7
287
- signing_key:
286
+ rubygems_version: 3.1.5
287
+ signing_key:
288
288
  specification_version: 4
289
289
  summary: Command line tool and ruby interface to optimize (lossless compress, optionally
290
290
  lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle,
@@ -308,6 +308,7 @@ test_files:
308
308
  - spec/image_optim/runner/glob_helpers_spec.rb
309
309
  - spec/image_optim/runner/option_parser_spec.rb
310
310
  - spec/image_optim/space_spec.rb
311
+ - spec/image_optim/worker/jpegrecompress_spec.rb
311
312
  - spec/image_optim/worker/optipng_spec.rb
312
313
  - spec/image_optim/worker/pngquant_spec.rb
313
314
  - spec/image_optim/worker_spec.rb