Sha256: 8cfdb3e31b0c784b7d04e4fb390d5d913bd6abb756e6b0304f69601d86b63280

Contents?: true

Size: 558 Bytes

Versions: 3

Compression:

Stored size: 558 Bytes

Contents

require 'image_optim/image_path'

class ImageOptim
  class Handler
    attr_reader :result
    def initialize(original)
      raise ArgumentError, 'original should respond to temp_path' unless original.respond_to?(:temp_path)

      @original = original
      @result = nil
    end

    def process
      @src ||= @original
      @dst ||= @original.temp_path

      if yield @src, @dst
        @result = @dst
        if @src == @original
          @src, @dst = @dst, nil
        else
          @src, @dst = @dst, @src
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
image_optim-0.10.2 lib/image_optim/handler.rb
image_optim-0.10.1 lib/image_optim/handler.rb
image_optim-0.10.0 lib/image_optim/handler.rb