<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,2 +1,3 @@
 tmp
 .DS_Store
+*.log</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,8 @@
-Has_Image
-=========
+= HasImage -- Image attachment plugin/gem for Ruby on Rails
 
-Has image was created as a smaller, simpler, lighter alternative to
-attachment_fu for applications that need to handle uploaded images.
-
-While attachment_fu is easy to use and gets the job done in some cases, it
-has some aspects that I find make it frustrating to work with:
+HasImage was created as a smaller, simpler, lighter alternative to
+attachment_fu[http://github.com/technoweenie/attachment_fu] for applications
+that need to handle uploaded images.
 
 attachment_fu:
 </diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 Gem::Specification.new do |s|
   s.name = &quot;has_image&quot;
-  s.version = &quot;0.0.1&quot;
+  s.version = &quot;0.1.0&quot;
   s.date = &quot;2008-07-21&quot;
   s.summary = &quot;Lets you attach images with thumbnails to active record models.&quot;
   s.email = 'norman@randomba.org'</diff>
      <filename>has_image.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -42,7 +42,8 @@ module HasImage
         :base_path =&gt; File.join(RAILS_ROOT, 'public'),
         :convert_to =&gt; &quot;JPEG&quot;,
         :output_quality =&gt; &quot;85&quot;,
-        :invalid_image_message =&gt; &quot;Can't process the uploaded image.&quot;
+        :invalid_image_message =&gt; &quot;Can't process the uploaded image.&quot;,
+        :file_name_column =&gt; :file_name
       }
     end
 
@@ -50,8 +51,8 @@ module HasImage
 
   module ModelInstanceMethods
     
-    def image_data=(data)
-      storage.data = data
+    def image_data=(image_data)
+      storage.image_data = image_data
     end
     
     def image_data_valid?
@@ -69,7 +70,7 @@ module HasImage
     end
 
     def install_images
-      storage.install_images(self.id)
+      update_attribute(has_image_options[:file_name_column], storage.install_images(self.id))
     end
     
     def storage</diff>
      <filename>lib/has_image.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,10 @@ module HasImage
   class Processor
     
     attr_accessor :options
+
+    def initialize(options)
+      @options = options
+    end
     
     # Arg should be either a file, or a path. This runs ImageMagick's
     # &quot;identify&quot; command and looks for an exit status indicating an error. If
@@ -21,28 +25,22 @@ module HasImage
       end
     end
     
-    def initialize(options)
-      @options = options
-    end
-    
     # Create the resized image, and transform it to the desired output format,
     # if necessary.
     def resize(my_options)
       silence_stderr do
         my_options[:temp_file].close if !my_options[:temp_file].closed?
         @image = MiniMagick::Image.from_file(my_options[:temp_file].path)
-        
         @image.format(options[:convert_to]) if @image[:format] !=~ /#{options[:convert_to]}/
-        
         @image.combine_options do |commands|
+          # Will work on some images, if EXIF data supports it.
+          commands.send(&quot;auto-orient&quot;.to_sym)
           # Remove EXIF data, this can be up to 32k.
           commands.strip
           commands.resize &quot;#{my_options[:size]}^&quot;
           commands.gravity @image[:width] &lt; @image[:height] ? &quot;north&quot; : &quot;center&quot;
           commands.extent &quot;#{my_options[:size]}&quot;
           commands.quality options[:output_quality]
-          # Will work on some images, if EXIF data supports it.
-          commands.send(:&quot;auto-orient&quot;)
         end
         return @image
       end</diff>
      <filename>lib/has_image/processor.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@ module HasImage
   
   class Storage
     
-    attr_accessor :data, :options, :temp_file
+    attr_accessor :image_data, :options, :temp_file
 
     def initialize(options)
       @options = options
@@ -25,14 +25,14 @@ module HasImage
       Zlib.crc32(Time.now.to_s + rand(10e10).to_s).to_s(36)
     end
     
-    def data=(data)
-      raise HasImage::FileDataError.new if data.blank?
-      if data.is_a?(Tempfile)
-        @temp_file = data
+    def image_data=(image_data)
+      raise HasImage::FileDataError.new if image_data.blank?
+      if image_data.is_a?(Tempfile)
+        @temp_file = image_data
       else
-        data.rewind
+        image_data.rewind
         @temp_file = Tempfile.new 'has_image_data_%s' % Storage.random_file_name
-        @temp_file.write(data.read)
+        @temp_file.write(image_data.read)
       end
     end
     
@@ -40,7 +40,7 @@ module HasImage
       random_name = Storage.random_file_name
       install_thumbnails(id, random_name) if !options[:thumbnails].empty?
       install_main_image(id, random_name)
-      return file_name_for(random_name)
+      return random_name
     end
     
     def public_path_for(object, thumbnail = nil)
@@ -56,6 +56,14 @@ module HasImage
     
     private
     
+    def extension
+      options[:convert_to].to_s.downcase.gsub(&quot;jpeg&quot;, &quot;jpg&quot;)
+    end
+
+    def file_name_for(*args)
+      &quot;%s.%s&quot; % [args.compact.join(&quot;_&quot;), extension]
+    end
+    
     def install_main_image(id, name)
       FileUtils.mkdir_p path_for(id)
       main = processor.resize(:temp_file =&gt; @temp_file, :size =&gt; @options[:resize_to])
@@ -70,10 +78,6 @@ module HasImage
       end
     end
     
-    def file_name_for(*args)
-      &quot;%s.%s&quot; % [args.compact.join(&quot;_&quot;), options[:convert_to].to_s.downcase.gsub(&quot;jpeg&quot;, &quot;jpg&quot;)]
-    end
-
     def path_for(id)
       File.join(options[:base_path], options[:path_prefix], Storage.partitioned_path(id))
     end</diff>
      <filename>lib/has_image/storage.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,25 +14,25 @@ class PicTest &lt; Test::Unit::TestCase
   
   def test_should_be_valid
     image = &quot;/../../test/fixtures/image.jpg&quot;
-    @pic = Pic.new(:name =&gt; &quot;test&quot;, :image_data =&gt; fixture_file_upload(image, &quot;image/jpeg&quot;))
+    @pic = Pic.new(:image_data =&gt; fixture_file_upload(image, &quot;image/jpeg&quot;))
     assert @pic.valid?
   end
 
   def test_invalid_image_detected
     image = &quot;/../../test/fixtures/bad_image.jpg&quot;
-    @pic = Pic.new(:name =&gt; &quot;test&quot;, :image_data =&gt; fixture_file_upload(image, &quot;image/jpeg&quot;))
+    @pic = Pic.new(:image_data =&gt; fixture_file_upload(image, &quot;image/jpeg&quot;))
     assert !@pic.valid?
   end
 
   def test_create
     image = &quot;/../../test/fixtures/image.jpg&quot;
-    @pic = Pic.new(:name =&gt; &quot;test&quot;, :image_data =&gt; fixture_file_upload(image, &quot;image/jpeg&quot;))
+    @pic = Pic.new(:image_data =&gt; fixture_file_upload(image, &quot;image/jpeg&quot;))
     @pic.save!
   end
 
   def test_create_with_png
     image = &quot;/../../test/fixtures/image.png&quot;
-    @pic = Pic.new(:name =&gt; &quot;test&quot;, :image_data =&gt; fixture_file_upload(image, &quot;image/png&quot;))
+    @pic = Pic.new(:image_data =&gt; fixture_file_upload(image, &quot;image/png&quot;))
     assert @pic.valid?
     @pic.save!
   end</diff>
      <filename>rails-test/pic_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -55,7 +55,7 @@ class StorageTest &lt; Test::Unit::TestCase
   def test_set_data_from_file
     @storage = HasImage::Storage.new(default_options)
     @file = File.new(File.dirname(__FILE__) + &quot;/fixtures/image.jpg&quot;, &quot;r&quot;)
-    @storage.data = @file
+    @storage.image_data = @file
     assert @storage.temp_file.size &gt; 0
     assert_equal Zlib.crc32(@file.read), Zlib.crc32(@storage.temp_file.read)
   ensure
@@ -67,7 +67,7 @@ class StorageTest &lt; Test::Unit::TestCase
     @file = File.new(File.dirname(__FILE__) + &quot;/fixtures/image.jpg&quot;, &quot;r&quot;)
     @temp_file = Tempfile.new(&quot;test&quot;)
     @temp_file.write(@file.read)
-    @storage.data = @temp_file
+    @storage.image_data = @temp_file
     assert @storage.temp_file.size &gt; 0
     assert_equal Zlib.crc32(@storage.temp_file.read), Zlib.crc32(@temp_file.read)
   ensure
@@ -79,7 +79,7 @@ class StorageTest &lt; Test::Unit::TestCase
     @file = File.new(File.dirname(__FILE__) + &quot;/fixtures/image.jpg&quot;, &quot;r&quot;)
     @temp_file = Tempfile.new(&quot;test&quot;)
     @temp_file.write(@file.read)
-    @storage.data = @temp_file
+    @storage.image_data = @temp_file
     assert @storage.install_images(1)
     assert @storage.remove_images(1)    
   ensure</diff>
      <filename>test/storage_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>64c5ffb46b113a01c23cd7a2f6d9ea53c7398d28</id>
    </parent>
  </parents>
  <author>
    <name>Norman Clarke</name>
    <email>norman@addthree.com</email>
  </author>
  <url>http://github.com/norman/has_image/commit/d8172965ff59686ba718bc4e3b4c139553bd46d5</url>
  <id>d8172965ff59686ba718bc4e3b4c139553bd46d5</id>
  <committed-date>2008-07-22T12:59:34-07:00</committed-date>
  <authored-date>2008-07-22T12:59:34-07:00</authored-date>
  <message>Tweaked README. Added logs to .gitignore. Made file_name column name
configurable. Renamed storage.data to storage.image_data.</message>
  <tree>8d49e7891efb4f50f1b1cf97eb813d14b3f01c35</tree>
  <committer>
    <name>Norman Clarke</name>
    <email>norman@addthree.com</email>
  </committer>
</commit>
