has_image 0.1.8 → 0.1.9
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.
- data/CHANGELOG +3 -0
- data/lib/has_image/storage.rb +14 -8
- data/test/storage_test.rb +4 -3
- metadata +2 -2
    
        data/CHANGELOG
    CHANGED
    
    
    
        data/lib/has_image/storage.rb
    CHANGED
    
    | @@ -31,7 +31,7 @@ module HasImage | |
| 31 31 | 
             
                  # names, and they end up being hard to manipulate on the command line.
         | 
| 32 32 | 
             
                  # This also helps prevent a possibly undesirable sitation where the
         | 
| 33 33 | 
             
                  # uploaded images have offensive names.
         | 
| 34 | 
            -
                  def  | 
| 34 | 
            +
                  def generated_file_name
         | 
| 35 35 | 
             
                    Zlib.crc32(Time.now.to_s + rand(10e10).to_s).to_s(36).downcase
         | 
| 36 36 | 
             
                  end
         | 
| 37 37 |  | 
| @@ -51,7 +51,7 @@ module HasImage | |
| 51 51 | 
             
                    @temp_file = image_data
         | 
| 52 52 | 
             
                  else
         | 
| 53 53 | 
             
                    image_data.rewind
         | 
| 54 | 
            -
                    @temp_file = Tempfile.new 'has_image_data_%s' % Storage. | 
| 54 | 
            +
                    @temp_file = Tempfile.new 'has_image_data_%s' % Storage.generated_file_name
         | 
| 55 55 | 
             
                    @temp_file.write(image_data.read)        
         | 
| 56 56 | 
             
                  end
         | 
| 57 57 | 
             
                end
         | 
| @@ -77,10 +77,10 @@ module HasImage | |
| 77 77 | 
             
                # Invokes the processor to resize the image(s) and the installs them to
         | 
| 78 78 | 
             
                # the appropriate directory.
         | 
| 79 79 | 
             
                def install_images(id)
         | 
| 80 | 
            -
                   | 
| 81 | 
            -
                  install_main_image(id,  | 
| 82 | 
            -
                  install_thumbnails(id,  | 
| 83 | 
            -
                  return  | 
| 80 | 
            +
                  generated_name = Storage.generated_file_name
         | 
| 81 | 
            +
                  install_main_image(id, generated_name)
         | 
| 82 | 
            +
                  install_thumbnails(id, generated_name) if !options[:thumbnails].empty?
         | 
| 83 | 
            +
                  return generated_name
         | 
| 84 84 | 
             
                ensure  
         | 
| 85 85 | 
             
                  @temp_file.close! if !@temp_file.closed?
         | 
| 86 86 | 
             
                  @temp_file = nil
         | 
| @@ -137,7 +137,10 @@ module HasImage | |
| 137 137 | 
             
                def install_main_image(id, name)
         | 
| 138 138 | 
             
                  FileUtils.mkdir_p path_for(id)
         | 
| 139 139 | 
             
                  main = processor.resize(@temp_file, @options[:resize_to])
         | 
| 140 | 
            -
                  main. | 
| 140 | 
            +
                  main.tempfile.close
         | 
| 141 | 
            +
                  file = File.open(File.join(path_for(id), file_name_for(name)), "w")
         | 
| 142 | 
            +
                  file.write(IO.read(main.tempfile.path))
         | 
| 143 | 
            +
                  file.close
         | 
| 141 144 | 
             
                  main.tempfile.close!
         | 
| 142 145 | 
             
                end
         | 
| 143 146 |  | 
| @@ -148,7 +151,10 @@ module HasImage | |
| 148 151 | 
             
                  path = File.join(path_for(id), file_name_for(name))
         | 
| 149 152 | 
             
                  options[:thumbnails].each do |thumb_name, size|
         | 
| 150 153 | 
             
                    thumb = processor.resize(path, size)
         | 
| 151 | 
            -
                    thumb. | 
| 154 | 
            +
                    thumb.tempfile.close
         | 
| 155 | 
            +
                    file = File.open(File.join(path_for(id), file_name_for(name, thumb_name)), "w")
         | 
| 156 | 
            +
                    file.write(IO.read(thumb.tempfile.path))
         | 
| 157 | 
            +
                    file.close
         | 
| 152 158 | 
             
                    thumb.tempfile.close!
         | 
| 153 159 | 
             
                  end
         | 
| 154 160 | 
             
                end
         | 
    
        data/test/storage_test.rb
    CHANGED
    
    | @@ -25,8 +25,8 @@ class StorageTest < Test::Unit::TestCase | |
| 25 25 | 
             
                  HasImage::Storage.partitioned_path(867792731)
         | 
| 26 26 | 
             
              end
         | 
| 27 27 |  | 
| 28 | 
            -
              def  | 
| 29 | 
            -
                assert_match(/[a-z0-9]{4,6}/i, HasImage::Storage. | 
| 28 | 
            +
              def test_generated_file_name
         | 
| 29 | 
            +
                assert_match(/[a-z0-9]{4,6}/i, HasImage::Storage.generated_file_name)
         | 
| 30 30 | 
             
              end
         | 
| 31 31 |  | 
| 32 32 | 
             
              def test_path_for
         | 
| @@ -61,7 +61,8 @@ class StorageTest < Test::Unit::TestCase | |
| 61 61 | 
             
              end
         | 
| 62 62 |  | 
| 63 63 | 
             
              def test_install_and_remove_images
         | 
| 64 | 
            -
                @storage = HasImage::Storage.new(default_options | 
| 64 | 
            +
                @storage = HasImage::Storage.new(default_options.merge(:thumbnails => {
         | 
| 65 | 
            +
                  :one => "100x100", :two => "200x200"}))
         | 
| 65 66 | 
             
                @storage.image_data = temp_file("image.jpg")
         | 
| 66 67 | 
             
                assert @storage.install_images(1)
         | 
| 67 68 | 
             
                assert @storage.remove_images(1)    
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: has_image
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.9
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Norman Clarke
         | 
| @@ -9,7 +9,7 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date: 2008-08- | 
| 12 | 
            +
            date: 2008-08-19 00:00:00 -03:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: 
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency 
         |