image_optimizer 1.5.0 → 1.6.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.md +24 -2
- data/certs/jtescher.pem +15 -15
- data/checksum/image_optimizer-1.6.0.gem.sha512 +1 -0
- data/image_optimizer.gemspec +1 -1
- data/lib/image_optimizer/gif_optimizer.rb +28 -0
- data/lib/image_optimizer/version.rb +1 -1
- data/lib/image_optimizer.rb +2 -0
- data/spec/image_optimizer/gif_optimizer_spec.rb +63 -0
- data/spec/image_optimizer_spec.rb +2 -1
- data.tar.gz.sig +1 -2
- metadata +23 -19
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: bc1965ff20a12b495be3c4b0bf4e312e4a81eddb
         | 
| 4 | 
            +
              data.tar.gz: 1df870fc21e4a638420c7df2fad7a16b7d151d1b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9bbb9fc93085a14e99ea772bdf15aa802f0f541f6e3dea65d669b5595f67276c1bb14d2175e87aeac08e6af3ab4c43fcc55e3005ea83f2432312954552451c95
         | 
| 7 | 
            +
              data.tar.gz: f2e8eec48adb796e0089d34188820aa1f75da6cbda3af71837b150675e09d5df67e16eff7efed256e4229ca128695f94f6d5b838efdca02f3628be3502217fb2
         | 
    
        checksums.yaml.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/README.md
    CHANGED
    
    | @@ -22,10 +22,12 @@ Tested against ruby 2.0.x, 2.1.x, 2.2.x, 2.3.x, and ruby-head | |
| 22 22 |  | 
| 23 23 | 
             
            2. OptiPNG, which can be installed from [sourceforge.net](http://optipng.sourceforge.net/)
         | 
| 24 24 |  | 
| 25 | 
            +
            3. Gifsicle, which can be installed from [www.lcdf.org/gifsicle/](https://www.lcdf.org/gifsicle/)
         | 
| 26 | 
            +
             | 
| 25 27 | 
             
            Or install the utilities via homebrew:
         | 
| 26 28 |  | 
| 27 29 | 
             
            ```bash
         | 
| 28 | 
            -
            $ brew install optipng jpegoptim
         | 
| 30 | 
            +
            $ brew install optipng jpegoptim gifsicle
         | 
| 29 31 | 
             
            ```
         | 
| 30 32 |  | 
| 31 33 | 
             
            Then add this line to your application's Gemfile:
         | 
| @@ -45,7 +47,7 @@ $ gem install image_optimizer | |
| 45 47 |  | 
| 46 48 | 
             
            ## Usage
         | 
| 47 49 |  | 
| 48 | 
            -
            #### Optimize PNG  | 
| 50 | 
            +
            #### Optimize PNG formats:
         | 
| 49 51 |  | 
| 50 52 | 
             
            OptiPNG is a PNG optimizer that recompresses image files to a smaller size without losing any information and
         | 
| 51 53 | 
             
            performs PNG integrity checks and corrections.
         | 
| @@ -63,6 +65,14 @@ All jpegs will be progressively optimized for a better web experience | |
| 63 65 | 
             
            ImageOptimizer.new('path/to/file.jpg').optimize
         | 
| 64 66 | 
             
            ```
         | 
| 65 67 |  | 
| 68 | 
            +
            #### Optimize GIF formats:
         | 
| 69 | 
            +
             | 
| 70 | 
            +
            Gifsicle is a command-line tool for creating, editing, and getting information about GIF images and animations. This stores only the changed portion of each frame, and can radically shrink your GIFs. You can also use transparency to make them even smaller. Gifsicle’s optimizer is pretty powerful, and usually reduces animations to within a couple bytes of the best commercial optimizers.
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            ```ruby
         | 
| 73 | 
            +
            ImageOptimizer.new('path/to/file.gif').optimize
         | 
| 74 | 
            +
            ```
         | 
| 75 | 
            +
             | 
| 66 76 | 
             
            ## Optimization Options
         | 
| 67 77 |  | 
| 68 78 | 
             
            ##### Quiet optimization
         | 
| @@ -109,6 +119,18 @@ You can skip removing the meta data by changing the `strip_metadata` parameter t | |
| 109 119 | 
             
            ImageOptimizer.new('path/to/file.png', strip_metadata: false).optimize
         | 
| 110 120 | 
             
            ```
         | 
| 111 121 |  | 
| 122 | 
            +
            ##### Custom GIF optimization quality
         | 
| 123 | 
            +
             | 
| 124 | 
            +
            By default, `gifsicle` is called with the `-O1` flag, which controls the level of
         | 
| 125 | 
            +
            optimization. It stores only the changed portion of each image. Other allowed flag are `-O2` (Also uses transparency to shrink the file further), `-O3` (Try several optimization methods , usually slower, sometimes better results)
         | 
| 126 | 
            +
             | 
| 127 | 
            +
            You can pass an optional `level` parameter to change this value. the JPEG
         | 
| 128 | 
            +
            optimizer will ignore the value.
         | 
| 129 | 
            +
             | 
| 130 | 
            +
            ```ruby
         | 
| 131 | 
            +
            ImageOptimizer.new('path/to/file.gif', level: 3).optimize
         | 
| 132 | 
            +
            ```
         | 
| 133 | 
            +
             | 
| 112 134 | 
             
            ##### Use identify
         | 
| 113 135 |  | 
| 114 136 | 
             
            Pass an optional `identify` parameter to identify file types using ImageMagick or GraphicsMagick `identify`
         | 
    
        data/certs/jtescher.pem
    CHANGED
    
    | @@ -1,21 +1,21 @@ | |
| 1 1 | 
             
            -----BEGIN CERTIFICATE-----
         | 
| 2 2 | 
             
            MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlqYXRl
         | 
| 3 3 | 
             
            c2NoZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
         | 
| 4 | 
            -
             | 
| 4 | 
            +
            bTAeFw0xNjA5MjYxNzU4NTRaFw0xNzA5MjYxNzU4NTRaMEAxEjAQBgNVBAMMCWph
         | 
| 5 5 | 
             
            dGVzY2hlcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
         | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
            / | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 6 | 
            +
            Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7ptCQvN739Rjos4e
         | 
| 7 | 
            +
            G2Y8uGCQxpBoXozU36PXLtR5ws7aly1QV0zRc1cy7nKnOSnXn7dEfbLGZS6/87pM
         | 
| 8 | 
            +
            rDFFszHsn/dizlXe3wejHePyG1EsYnIezISP9YSDcm7qpysrUAa2fKPqqZ6DNbIP
         | 
| 9 | 
            +
            6wRF9Cun4hvmQPDrs0zKU6p43XHnJUg7YBYCOVACa7eFD1EOya+599hFMhnWChvT
         | 
| 10 | 
            +
            rKkVc/JRvmKYLIkB6Y6N3TFrVi9x0Qpo4fjG5rQ9xxNZhpFIOMJ0VJbuRSIMlLwr
         | 
| 11 | 
            +
            Ryd/QG0BcvkSHph/ZDlgfZ1V/lzWWq+mZOt/U+t6cVITSET5XDzHkeZ0BodGyAMr
         | 
| 12 | 
            +
            lZpggQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
         | 
| 13 | 
            +
            QLcGxzEu2F2XI+3tIWSu8KqAFrkwHgYDVR0RBBcwFYETamF0ZXNjaGVyQGdtYWls
         | 
| 14 14 | 
             
            LmNvbTAeBgNVHRIEFzAVgRNqYXRlc2NoZXJAZ21haWwuY29tMA0GCSqGSIb3DQEB
         | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 15 | 
            +
            BQUAA4IBAQCh9hDqN3lZw0PLVkXVcnwnl3KAjJfwCwk1okeuJ+IeQSfRLPp2ECLn
         | 
| 16 | 
            +
            j87oXZPcBukPB0/zTHcF/eBPIGvOedqVhp9SEar51dXLdiCe+deXx/bI3YMRdTGH
         | 
| 17 | 
            +
            6NtqR6hWjm+hzBthxDsKhmQRczJ+5FNzAoW+pzf7ouKGfeFiFPwvAMolzsi2T+O/
         | 
| 18 | 
            +
            AmsZcBYVI8HbrnuoQI30XfdhNoRrKhoMyzAyVdWX9xQW56TWUO+o8iXBKjOxX2C5
         | 
| 19 | 
            +
            8lVFrLvGNGPCLQmEf498hBYT99EVYiuiI0F7YlTmBdzL1uwTMk5le/b0NguYdSJ7
         | 
| 20 | 
            +
            qKlUP9usSwMVc+qmaOg1EYfPGYvt63qS
         | 
| 21 21 | 
             
            -----END CERTIFICATE-----
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            c1e31ef50556ea85d20d056bb5145879e85fd60a8814d8eb62ffdf6e144d2bdd52c9b718c17e2b9fd14c58a0fdc23dc7a23ae5a6982edcf280ff5eaaf0963189
         | 
    
        data/image_optimizer.gemspec
    CHANGED
    
    | @@ -9,7 +9,7 @@ Gem::Specification.new do |gem| | |
| 9 9 | 
             
              gem.authors       = ["Julian Tescher"]
         | 
| 10 10 | 
             
              gem.email         = ["jatescher@gmail.com"]
         | 
| 11 11 | 
             
              gem.description   = %q{A simple image optimizer}
         | 
| 12 | 
            -
              gem.summary       = %q{Simply optimize images via jpegoptim or OptiPNG}
         | 
| 12 | 
            +
              gem.summary       = %q{Simply optimize images via jpegoptim or OptiPNG or Gifsicle}
         | 
| 13 13 | 
             
              gem.homepage      = "https://github.com/jtescher/image_optimizer"
         | 
| 14 14 | 
             
              gem.license       = 'MIT'
         | 
| 15 15 | 
             
              gem.signing_key   = File.expand_path('~/.ssh/gem-private_key.pem') if $0 =~ /gem\z/
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            class ImageOptimizer
         | 
| 2 | 
            +
              class GIFOptimizer < ImageOptimizerBase
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              private
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                def command_options
         | 
| 7 | 
            +
                  flags = %W[-b -O#{level}]
         | 
| 8 | 
            +
                  flags << path
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def level
         | 
| 12 | 
            +
                  options[:level] || 1
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                def type
         | 
| 16 | 
            +
                  'gif'
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def extensions
         | 
| 20 | 
            +
                  %w[gif]
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def bin_name
         | 
| 24 | 
            +
                  'gifsicle'
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
    
        data/lib/image_optimizer.rb
    CHANGED
    
    | @@ -3,6 +3,7 @@ require 'image_optimizer/shell' | |
| 3 3 | 
             
            require 'image_optimizer/image_optimizer_base'
         | 
| 4 4 | 
             
            require 'image_optimizer/jpeg_optimizer'
         | 
| 5 5 | 
             
            require 'image_optimizer/png_optimizer'
         | 
| 6 | 
            +
            require 'image_optimizer/gif_optimizer'
         | 
| 6 7 |  | 
| 7 8 | 
             
            class ImageOptimizer
         | 
| 8 9 | 
             
              include Shell
         | 
| @@ -17,6 +18,7 @@ class ImageOptimizer | |
| 17 18 | 
             
                identify_format if options[:identify]
         | 
| 18 19 | 
             
                JPEGOptimizer.new(path, options).optimize
         | 
| 19 20 | 
             
                PNGOptimizer.new(path, options).optimize
         | 
| 21 | 
            +
                GIFOptimizer.new(path, options).optimize
         | 
| 20 22 | 
             
              end
         | 
| 21 23 |  | 
| 22 24 | 
             
            private
         | 
| @@ -0,0 +1,63 @@ | |
| 1 | 
            +
            require 'spec_helper'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            describe ImageOptimizer::GIFOptimizer do
         | 
| 4 | 
            +
              describe '#optimize' do
         | 
| 5 | 
            +
                let(:options) { {} }
         | 
| 6 | 
            +
                let(:gif_optimizer) { ImageOptimizer::GIFOptimizer.new('/path/to/file.gif', options) }
         | 
| 7 | 
            +
                after { ImageOptimizer::GIFOptimizer.instance_variable_set(:@bin, nil) }
         | 
| 8 | 
            +
                subject { gif_optimizer.optimize }
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                context 'with gif optimizing utility installed' do
         | 
| 11 | 
            +
                  before do
         | 
| 12 | 
            +
                    allow(ImageOptimizer::GIFOptimizer).to receive(:which).and_return('/usr/local/bin/gifsicle')
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                  it 'optimizes the gif' do
         | 
| 16 | 
            +
                    expect(gif_optimizer).to receive(:system).with('/usr/local/bin/gifsicle', '-b', '-O1', '/path/to/file.gif')
         | 
| 17 | 
            +
                    subject
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  context 'ENV variable path to gifsicle' do
         | 
| 21 | 
            +
                    let(:image_optim_gifsicle_bin_path) { '/app/vendor/bundle/ruby/2.0.0/gems/image_optim_bin-0.0.2/bin/gifsicle' }
         | 
| 22 | 
            +
                    before do
         | 
| 23 | 
            +
                      ENV['GIFSICLE_BIN'] = image_optim_gifsicle_bin_path
         | 
| 24 | 
            +
                    end
         | 
| 25 | 
            +
                    after do
         | 
| 26 | 
            +
                      ENV['GIFSICLE_BIN'] = nil
         | 
| 27 | 
            +
                    end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                    it 'detects if there is an ENV variable path to gifsicle' do
         | 
| 30 | 
            +
                      expect(gif_optimizer).to receive(:system).with(image_optim_gifsicle_bin_path, '-b', '-O1', '/path/to/file.gif')
         | 
| 31 | 
            +
                      subject
         | 
| 32 | 
            +
                    end
         | 
| 33 | 
            +
                  end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                  context 'without optimization parameter' do
         | 
| 36 | 
            +
                    it 'optimizes the gif with level 7 optimization' do
         | 
| 37 | 
            +
                      expect(gif_optimizer).to receive(:system).with('/usr/local/bin/gifsicle', '-b', '-O1', '/path/to/file.gif')
         | 
| 38 | 
            +
                      subject
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  context 'with optimization parameter' do
         | 
| 43 | 
            +
                    let(:options) { { level: 2 } }
         | 
| 44 | 
            +
                    it 'optimizes the gif with the requested optimization level' do
         | 
| 45 | 
            +
                      expect(gif_optimizer).to receive(:system).with('/usr/local/bin/gifsicle', '-b', '-O2', '/path/to/file.gif')
         | 
| 46 | 
            +
                      subject
         | 
| 47 | 
            +
                    end
         | 
| 48 | 
            +
                  end
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
             | 
| 52 | 
            +
                context 'with gif optimizing utility not installed' do
         | 
| 53 | 
            +
                  before do
         | 
| 54 | 
            +
                    allow(ImageOptimizer::GIFOptimizer).to receive(:which).and_return(nil)
         | 
| 55 | 
            +
                  end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                  it 'warns the user' do
         | 
| 58 | 
            +
                    expect(gif_optimizer).to receive(:warn).with('Attempting to optimize a gif without gifsicle installed. Skipping...')
         | 
| 59 | 
            +
                    subject
         | 
| 60 | 
            +
                  end
         | 
| 61 | 
            +
                end
         | 
| 62 | 
            +
              end
         | 
| 63 | 
            +
            end
         | 
| @@ -7,9 +7,10 @@ describe ImageOptimizer do | |
| 7 7 | 
             
              describe '#optimize' do
         | 
| 8 8 | 
             
                subject { ImageOptimizer.new(File.join(image_path), options) }
         | 
| 9 9 |  | 
| 10 | 
            -
                it 'delegates to jpeg and  | 
| 10 | 
            +
                it 'delegates to jpeg, png and gif optimizers' do
         | 
| 11 11 | 
             
                  expect_any_instance_of(ImageOptimizer::JPEGOptimizer).to receive(:optimize)
         | 
| 12 12 | 
             
                  expect_any_instance_of(ImageOptimizer::PNGOptimizer).to receive(:optimize)
         | 
| 13 | 
            +
                  expect_any_instance_of(ImageOptimizer::GIFOptimizer).to receive(:optimize)
         | 
| 13 14 | 
             
                  subject.optimize
         | 
| 14 15 | 
             
                end
         | 
| 15 16 | 
             
              end
         | 
    
        data.tar.gz.sig
    CHANGED
    
    | @@ -1,2 +1 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
            �6^���z#���c�"�D�ACD=D�n����Ό(��0��MjГ�歫;>s����Bg�~6��u��T
         | 
| 1 | 
            +
            �3+
         | 
    
        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. | 
| 4 | 
            +
              version: 1.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Julian Tescher
         | 
| @@ -12,25 +12,25 @@ cert_chain: | |
| 12 12 | 
             
              -----BEGIN CERTIFICATE-----
         | 
| 13 13 | 
             
              MIIDdDCCAlygAwIBAgIBATANBgkqhkiG9w0BAQUFADBAMRIwEAYDVQQDDAlqYXRl
         | 
| 14 14 | 
             
              c2NoZXIxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
         | 
| 15 | 
            -
               | 
| 15 | 
            +
              bTAeFw0xNjA5MjYxNzU4NTRaFw0xNzA5MjYxNzU4NTRaMEAxEjAQBgNVBAMMCWph
         | 
| 16 16 | 
             
              dGVzY2hlcjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYD
         | 
| 17 | 
            -
               | 
| 18 | 
            -
               | 
| 19 | 
            -
               | 
| 20 | 
            -
               | 
| 21 | 
            -
              / | 
| 22 | 
            -
               | 
| 23 | 
            -
               | 
| 24 | 
            -
               | 
| 17 | 
            +
              Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7ptCQvN739Rjos4e
         | 
| 18 | 
            +
              G2Y8uGCQxpBoXozU36PXLtR5ws7aly1QV0zRc1cy7nKnOSnXn7dEfbLGZS6/87pM
         | 
| 19 | 
            +
              rDFFszHsn/dizlXe3wejHePyG1EsYnIezISP9YSDcm7qpysrUAa2fKPqqZ6DNbIP
         | 
| 20 | 
            +
              6wRF9Cun4hvmQPDrs0zKU6p43XHnJUg7YBYCOVACa7eFD1EOya+599hFMhnWChvT
         | 
| 21 | 
            +
              rKkVc/JRvmKYLIkB6Y6N3TFrVi9x0Qpo4fjG5rQ9xxNZhpFIOMJ0VJbuRSIMlLwr
         | 
| 22 | 
            +
              Ryd/QG0BcvkSHph/ZDlgfZ1V/lzWWq+mZOt/U+t6cVITSET5XDzHkeZ0BodGyAMr
         | 
| 23 | 
            +
              lZpggQIDAQABo3kwdzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU
         | 
| 24 | 
            +
              QLcGxzEu2F2XI+3tIWSu8KqAFrkwHgYDVR0RBBcwFYETamF0ZXNjaGVyQGdtYWls
         | 
| 25 25 | 
             
              LmNvbTAeBgNVHRIEFzAVgRNqYXRlc2NoZXJAZ21haWwuY29tMA0GCSqGSIb3DQEB
         | 
| 26 | 
            -
               | 
| 27 | 
            -
               | 
| 28 | 
            -
               | 
| 29 | 
            -
               | 
| 30 | 
            -
               | 
| 31 | 
            -
               | 
| 26 | 
            +
              BQUAA4IBAQCh9hDqN3lZw0PLVkXVcnwnl3KAjJfwCwk1okeuJ+IeQSfRLPp2ECLn
         | 
| 27 | 
            +
              j87oXZPcBukPB0/zTHcF/eBPIGvOedqVhp9SEar51dXLdiCe+deXx/bI3YMRdTGH
         | 
| 28 | 
            +
              6NtqR6hWjm+hzBthxDsKhmQRczJ+5FNzAoW+pzf7ouKGfeFiFPwvAMolzsi2T+O/
         | 
| 29 | 
            +
              AmsZcBYVI8HbrnuoQI30XfdhNoRrKhoMyzAyVdWX9xQW56TWUO+o8iXBKjOxX2C5
         | 
| 30 | 
            +
              8lVFrLvGNGPCLQmEf498hBYT99EVYiuiI0F7YlTmBdzL1uwTMk5le/b0NguYdSJ7
         | 
| 31 | 
            +
              qKlUP9usSwMVc+qmaOg1EYfPGYvt63qS
         | 
| 32 32 | 
             
              -----END CERTIFICATE-----
         | 
| 33 | 
            -
            date: 2016-09- | 
| 33 | 
            +
            date: 2016-09-26 00:00:00.000000000 Z
         | 
| 34 34 | 
             
            dependencies:
         | 
| 35 35 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 36 36 | 
             
              name: rspec
         | 
| @@ -125,13 +125,16 @@ files: | |
| 125 125 | 
             
            - checksum/image_optimizer-1.3.0.gem.sha512
         | 
| 126 126 | 
             
            - checksum/image_optimizer-1.4.0.gem.sha512
         | 
| 127 127 | 
             
            - checksum/image_optimizer-1.5.0.gem.sha512
         | 
| 128 | 
            +
            - checksum/image_optimizer-1.6.0.gem.sha512
         | 
| 128 129 | 
             
            - image_optimizer.gemspec
         | 
| 129 130 | 
             
            - lib/image_optimizer.rb
         | 
| 131 | 
            +
            - lib/image_optimizer/gif_optimizer.rb
         | 
| 130 132 | 
             
            - lib/image_optimizer/image_optimizer_base.rb
         | 
| 131 133 | 
             
            - lib/image_optimizer/jpeg_optimizer.rb
         | 
| 132 134 | 
             
            - lib/image_optimizer/png_optimizer.rb
         | 
| 133 135 | 
             
            - lib/image_optimizer/shell.rb
         | 
| 134 136 | 
             
            - lib/image_optimizer/version.rb
         | 
| 137 | 
            +
            - spec/image_optimizer/gif_optimizer_spec.rb
         | 
| 135 138 | 
             
            - spec/image_optimizer/jpeg_optimizer_spec.rb
         | 
| 136 139 | 
             
            - spec/image_optimizer/png_optimizer_spec.rb
         | 
| 137 140 | 
             
            - spec/image_optimizer/shell_spec.rb
         | 
| @@ -158,11 +161,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 158 161 | 
             
                  version: '0'
         | 
| 159 162 | 
             
            requirements: []
         | 
| 160 163 | 
             
            rubyforge_project: 
         | 
| 161 | 
            -
            rubygems_version: 2. | 
| 164 | 
            +
            rubygems_version: 2.5.1
         | 
| 162 165 | 
             
            signing_key: 
         | 
| 163 166 | 
             
            specification_version: 4
         | 
| 164 | 
            -
            summary: Simply optimize images via jpegoptim or OptiPNG
         | 
| 167 | 
            +
            summary: Simply optimize images via jpegoptim or OptiPNG or Gifsicle
         | 
| 165 168 | 
             
            test_files:
         | 
| 169 | 
            +
            - spec/image_optimizer/gif_optimizer_spec.rb
         | 
| 166 170 | 
             
            - spec/image_optimizer/jpeg_optimizer_spec.rb
         | 
| 167 171 | 
             
            - spec/image_optimizer/png_optimizer_spec.rb
         | 
| 168 172 | 
             
            - spec/image_optimizer/shell_spec.rb
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |