<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -121,7 +121,7 @@ module Paperclip
       name = name.to_s.camel_case
       processor = Paperclip.const_get(name)
       unless processor.ancestors.include?(Paperclip::Processor)
-        raise PaperclipError.new(&quot;Processor #{name} was not found&quot;) 
+        raise PaperclipError.new(&quot;Processor #{name} was not found&quot;)
       end
       processor
     end
@@ -308,7 +308,7 @@ module Paperclip
       @attachments ||= {}
       @attachments[name] ||= Attachment.new(name, self, self.class.attachment_definitions[name])
     end
-    
+
     def each_attachment
       self.class.attachment_definitions.each do |name, definition|
         yield(name, attachment_for(name))
@@ -330,4 +330,4 @@ module Paperclip
       end
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ module Paperclip
   # when the model saves, deletes when the model is destroyed, and processes
   # the file upon assignment.
   class Attachment
-    
+
     def self.default_options
       @default_options ||= {
         :url           =&gt; &quot;/system/:attachment/:id/:style/:filename&quot;,
@@ -56,7 +56,7 @@ module Paperclip
     # errors, assigns attributes, processes the file, and runs validations. It
     # also queues up the previous file for deletion, to be flushed away on
     # #save of its host.  In addition to form uploads, you can also assign
-    # another Paperclip attachment: 
+    # another Paperclip attachment:
     #   new_user.avatar = old_user.avatar
     # If the file that is assigned is not valid, the processing (i.e.
     # thumbnailing, etc) will NOT be run.
@@ -84,7 +84,7 @@ module Paperclip
       @dirty = true
 
       post_process if valid?
- 
+
       # Reset the file size if the original file was reprocessed.
       instance_write(:file_size, @queued_for_write[:original].size.to_i)
     ensure
@@ -100,8 +100,8 @@ module Paperclip
     # include_updated_timestamp to false if you want to stop the attachment
     # update time appended to the url
     def url style = default_style, include_updated_timestamp = true
-      url = original_filename.nil? ? interpolate(@default_url, style) : interpolate(@url, style)
-      include_updated_timestamp &amp;&amp; updated_at ? [url, updated_at].compact.join(url.include?(&quot;?&quot;) ? &quot;&amp;&quot; : &quot;?&quot;) : url
+      the_url = original_filename.nil? ? interpolate(@default_url, style) : interpolate(@url, style)
+      include_updated_timestamp &amp;&amp; updated_at ? [the_url, updated_at].compact.join(the_url.include?(&quot;?&quot;) ? &quot;&amp;&quot; : &quot;?&quot;) : the_url
     end
 
     # Returns the path of the attachment as defined by the :path option. If the
@@ -181,8 +181,8 @@ module Paperclip
     def content_type
       instance_read(:content_type)
     end
-    
-    # Returns the last modified time of the file as originally assigned, and 
+
+    # Returns the last modified time of the file as originally assigned, and
     # lives in the &lt;attachment&gt;_updated_at attribute of the model.
     def updated_at
       instance_read(:updated_at)
@@ -221,7 +221,7 @@ module Paperclip
         true
       end
     end
-    
+
     # Returns true if a file has been assigned.
     def file?
       !original_filename.blank?
@@ -396,4 +396,4 @@ module Paperclip
       end
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip/attachment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,8 +6,10 @@ module Paperclip
 
     # Gives a Geometry representing the given height and width
     def initialize width = nil, height = nil, modifier = nil
-      @height = height.to_f
-      @width  = width.to_f
+      height = nil if height == ''
+      width  = nil if width  == ''
+      @height = (height || width).to_f
+      @width  = (width  || height).to_f
       @modifier = modifier
     end
 
@@ -75,12 +77,12 @@ module Paperclip
       to_s
     end
 
-    # Returns the scaling and cropping geometries (in string-based ImageMagick format) 
-    # neccessary to transform this Geometry into the Geometry given. If crop is true, 
-    # then it is assumed the destination Geometry will be the exact final resolution. 
-    # In this case, the source Geometry is scaled so that an image containing the 
-    # destination Geometry would be completely filled by the source image, and any 
-    # overhanging image would be cropped. Useful for square thumbnail images. The cropping 
+    # Returns the scaling and cropping geometries (in string-based ImageMagick format)
+    # neccessary to transform this Geometry into the Geometry given. If crop is true,
+    # then it is assumed the destination Geometry will be the exact final resolution.
+    # In this case, the source Geometry is scaled so that an image containing the
+    # destination Geometry would be completely filled by the source image, and any
+    # overhanging image would be cropped. Useful for square thumbnail images. The cropping
     # is weighted at the center of the Geometry.
     def transformation_to dst, crop = false
       if crop
@@ -112,4 +114,4 @@ module Paperclip
       end
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip/geometry.rb</filename>
    </modified>
    <modified>
      <diff>@@ -61,10 +61,18 @@ module Paperclip
       RAILS_ENV
     end
 
-    # Returns the underscored, pluralized version of the class name.
+    def merb_root attachment, style
+      Merb.root
+    end
+
+    def merb_env attachment, style
+      Merb.env
+    end
+
+    # Returns the snake cased, pluralized version of the class name.
     # e.g. &quot;users&quot; for the User class.
     def class attachment, style
-      attachment.instance.class.to_s.underscore.pluralize
+      attachment.instance.class.to_s.snake_case.pluralize
     end
 
     # Returns the basename of the file. e.g. &quot;file&quot; for &quot;file.jpg&quot;
@@ -75,7 +83,7 @@ module Paperclip
     # Returns the extension of the file. e.g. &quot;jpg&quot; for &quot;file.jpg&quot;
     # If the style has a format defined, it will return the format instead
     # of the actual extension.
-    def extension attachment, style 
+    def extension attachment, style
       ((style = attachment.styles[style]) &amp;&amp; style[:format]) ||
         File.extname(attachment.original_filename).gsub(/^\.+/, &quot;&quot;)
     end
@@ -102,4 +110,4 @@ module Paperclip
       style || attachment.default_style
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip/interpolations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@ module IOStream
     while self.read(in_blocks_of, buffer) do
       dstio.write(buffer)
     end
-    dstio.rewind    
+    dstio.rewind
     dstio
   end
 end
@@ -55,4 +55,4 @@ if defined? Tempfile
       end
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip/iostream.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ module Paperclip
   #
   # Processors are required to be defined inside the Paperclip module and
   # are also required to be a subclass of Paperclip::Processor. There is
-  # only one method you *must* implement to properly be a subclass: 
+  # only one method you *must* implement to properly be a subclass:
   # #make, but #initialize may also be of use. Both methods accept 3
   # arguments: the file that will be operated on (which is an instance of
   # File), a hash of options that were defined in has_attached_file's
@@ -33,7 +33,7 @@ module Paperclip
       new(file, options, attachment).make
     end
   end
-  
+
   # Due to how ImageMagick handles its image format conversion and how Tempfile
   # handles its naming scheme, it is necessary to override how Tempfile makes
   # its names so as to allow for file extensions. Idea taken from the comments</diff>
      <filename>lib/dm-paperclip/processor.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,18 +8,18 @@ module Paperclip
     # * +path+: The location of the repository of attachments on disk. This can (and, in
     #   almost all cases, should) be coordinated with the value of the +url+ option to
     #   allow files to be saved into a place where Apache can serve them without
-    #   hitting your app. Defaults to 
+    #   hitting your app. Defaults to
     #   &quot;:rails_root/public/:attachment/:id/:style/:basename.:extension&quot;
-    #   By default this places the files in the app's public directory which can be served 
-    #   directly. If you are using capistrano for deployment, a good idea would be to 
-    #   make a symlink to the capistrano-created system directory from inside your app's 
+    #   By default this places the files in the app's public directory which can be served
+    #   directly. If you are using capistrano for deployment, a good idea would be to
+    #   make a symlink to the capistrano-created system directory from inside your app's
     #   public directory.
     #   See Paperclip::Attachment#interpolate for more information on variable interpolaton.
     #     :path =&gt; &quot;/var/app/attachments/:class/:id/:style/:basename.:extension&quot;
     module Filesystem
       def self.extended base
       end
-      
+
       def exists?(style = default_style)
         if original_filename
           File.exist?(path(style))
@@ -79,25 +79,25 @@ module Paperclip
     #   database.yml file, so different environments can use different accounts:
     #     development:
     #       access_key_id: 123...
-    #       secret_access_key: 123... 
+    #       secret_access_key: 123...
     #     test:
     #       access_key_id: abc...
-    #       secret_access_key: abc... 
+    #       secret_access_key: abc...
     #     production:
     #       access_key_id: 456...
-    #       secret_access_key: 456... 
+    #       secret_access_key: 456...
     #   This is not required, however, and the file may simply look like this:
     #     access_key_id: 456...
-    #     secret_access_key: 456... 
+    #     secret_access_key: 456...
     #   In which case, those access keys will be used in all environments. You can also
     #   put your bucket name in this file, instead of adding it to the code directly.
-    #   This is useful when you want the same account but a different bucket for 
+    #   This is useful when you want the same account but a different bucket for
     #   development versus production.
     # * +s3_permissions+: This is a String that should be one of the &quot;canned&quot; access
     #   policies that S3 provides (more information can be found here:
     #   http://docs.amazonwebservices.com/AmazonS3/2006-03-01/RESTAccessPolicy.html#RESTCannedAccessPolicies)
     #   The default for Paperclip is &quot;public-read&quot;.
-    # * +s3_protocol+: The protocol for the URLs generated to your S3 assets. Can be either 
+    # * +s3_protocol+: The protocol for the URLs generated to your S3 assets. Can be either
     #   'http' or 'https'. Defaults to 'http' when your :s3_permissions are 'public-read' (the
     #   default), and 'https' when your :s3_permissions are anything else.
     # * +s3_headers+: A hash of headers such as {'Expires' =&gt; 1.year.from_now.httpdate}
@@ -112,7 +112,7 @@ module Paperclip
     # * +url+: There are three options for the S3 url. You can choose to have the bucket's name
     #   placed domain-style (bucket.s3.amazonaws.com) or path-style (s3.amazonaws.com/bucket).
     #   Lastly, you can specify a CNAME (which requires the CNAME to be specified as
-    #   :s3_alias_url. You can read more about CNAMEs and S3 at 
+    #   :s3_alias_url. You can read more about CNAMEs and S3 at
     #   http://docs.amazonwebservices.com/AmazonS3/latest/index.html?VirtualHosting.html
     #   Normally, this won't matter in the slightest and you can leave the default (which is
     #   path-style, or :s3_path_url). But in some cases paths don't work and you need to use
@@ -128,7 +128,7 @@ module Paperclip
     #   separate parts of your file name.
     module S3
       def self.extended base
-        warn('[DEPRECATION] S3 support through RightAWS is deprecated. S3 support will ' + 
+        warn('[DEPRECATION] S3 support through RightAWS is deprecated. S3 support will ' +
              'be changed to AWS::S3 in a future version.')
         require 'right_aws'
         base.instance_eval do
@@ -172,10 +172,14 @@ module Paperclip
       end
 
       def parse_credentials creds
-        creds = find_credentials(creds).stringify_keys
-        (creds[RAILS_ENV] || creds).symbolize_keys
+        creds = find_credentials(creds).to_mash
+        if defined? Merb &amp;&amp; Merb.respond_to?(:env)
+          (creds[Merb.env] || creds)
+        else
+          (creds[RAILS_ENV] || creds)
+        end
       end
-      
+
       def exists?(style = default_style)
         s3_bucket.key(path(style)) ? true : false
       end
@@ -218,7 +222,7 @@ module Paperclip
         end
         @queued_for_delete = []
       end
-      
+
       def find_credentials creds
         case creds
         when File
@@ -235,4 +239,4 @@ module Paperclip
 
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip/storage.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@ module Paperclip
     # which is a &quot;WxH&quot;-style string. +format+ will be inferred from the +file+
     # unless specified. Thumbnail creation will raise no errors unless
     # +whiny+ is true (which it is, by default. If +convert_options+ is
-    # set, the options will be appended to the convert command upon image conversion 
+    # set, the options will be appended to the convert command upon image conversion
     def initialize file, options = {}, attachment = nil
       super
       geometry          = options[:geometry]
@@ -29,7 +29,7 @@ module Paperclip
     def crop?
       @crop
     end
-    
+
     # Returns true if the image is meant to make use of additional convert options.
     def convert_options?
       not @convert_options.blank?
@@ -67,4 +67,4 @@ module Paperclip
       trans
     end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>lib/dm-paperclip/thumbnail.rb</filename>
    </modified>
    <modified>
      <diff>@@ -138,11 +138,9 @@ class AttachmentTest &lt; Test::Unit::TestCase
         end
       end
 
-      [:thumb, :large].each do |style|
-        should &quot;call extra_options_for(#{style})&quot; do
-          @dummy.avatar.expects(:extra_options_for).with(style)
-          @dummy.avatar = @file
-        end
+      should &quot;call post_process&quot; do
+        @dummy.avatar.expects(:post_process).once
+        @dummy.avatar = @file
       end
     end
   end
@@ -150,20 +148,20 @@ class AttachmentTest &lt; Test::Unit::TestCase
   context &quot;Assigning an attachment&quot; do
     setup do
       rebuild_model
-      
+
       @not_file = mock
       @not_file.stubs(:nil?).returns(false)
       @not_file.expects(:to_tempfile).returns(self)
       @not_file.expects(:original_filename).returns(&quot;filename.png\r\n&quot;)
       @not_file.expects(:content_type).returns(&quot;image/png\r\n&quot;)
       @not_file.expects(:size).returns(10)
-      
+
       @dummy = Dummy.new
       @attachment = @dummy.avatar
       @attachment.expects(:valid_assignment?).with(@not_file).returns(true)
       @attachment.expects(:queue_existing_for_delete)
       @attachment.expects(:post_process)
-      @attachment.expects(:validate)
+      @attachment.expects(:validate).twice
       @dummy.avatar = @not_file
     end
 
@@ -174,33 +172,31 @@ class AttachmentTest &lt; Test::Unit::TestCase
     should &quot;strip whitespace from content_type field&quot; do
       assert_equal &quot;image/png&quot;, @dummy.avatar.instance.avatar_content_type
     end
-    
   end
 
   context &quot;Attachment with strange letters&quot; do
     setup do
       rebuild_model
-      
+
       @not_file = mock
       @not_file.stubs(:nil?).returns(false)
       @not_file.expects(:to_tempfile).returns(self)
       @not_file.expects(:original_filename).returns(&quot;sheep_say_b&#230;.png\r\n&quot;)
       @not_file.expects(:content_type).returns(&quot;image/png\r\n&quot;)
       @not_file.expects(:size).returns(10)
-      
+
       @dummy = Dummy.new
       @attachment = @dummy.avatar
       @attachment.expects(:valid_assignment?).with(@not_file).returns(true)
       @attachment.expects(:queue_existing_for_delete)
       @attachment.expects(:post_process)
-      @attachment.expects(:validate)
+      @attachment.expects(:validate).twice
       @dummy.avatar = @not_file
     end
-    
+
     should &quot;remove strange letters and replace with underscore (_)&quot; do
       assert_equal &quot;sheep_say_b_.png&quot;, @dummy.avatar.original_filename
     end
-    
   end
 
   context &quot;An attachment&quot; do
@@ -230,25 +226,24 @@ class AttachmentTest &lt; Test::Unit::TestCase
       assert_equal &quot;/avatars/original/missing.png&quot;, @attachment.url
       assert_equal &quot;/avatars/blah/missing.png&quot;, @attachment.url(:blah)
     end
-    
+
     context &quot;with a file assigned in the database&quot; do
       setup do
         @instance.stubs(:attribute_get).with(:avatar_file_name).returns('5k.png')
         @instance.stubs(:attribute_get).with(:avatar_content_type).returns(&quot;image/png&quot;)
         @instance.stubs(:attribute_get).with(:avatar_file_size).returns(12345)
-        now = Time.now
-        Time.stubs(:now).returns(now)
+        @now = Time.now
+        Time.stubs(:now).returns(@now)
         @instance.stubs(:attribute_get).with(:avatar_updated_at).returns(Time.now)
       end
 
       should &quot;return a correct url even if the file does not exist&quot; do
         assert_nil @attachment.to_file
-        assert_match %r{^/avatars/#{@instance.id}/blah/5k\.png}, @attachment.url(:blah)
+        assert_match %r{^/system/avatars/#{@instance.id}/blah/5k\.png}, @attachment.url(:blah)
       end
 
       should &quot;make sure the updated_at mtime is in the url if it is defined&quot; do
-        time = Time.now
-        assert_match %r{#{time.year}#{time.month}#{time.day}#{time.hour}#{time.min}#{time.sec}$}, @attachment.url(:blah)
+        assert_match %r{#{@now.to_i.to_s}$}, @attachment.url(:blah)
       end
 
       context &quot;with the updated_at field removed&quot; do
@@ -298,8 +293,8 @@ class AttachmentTest &lt; Test::Unit::TestCase
 
             should &quot;return the real url&quot; do
               assert @attachment.to_file
-              assert_match %r{^/avatars/#{@instance.id}/original/5k\.png}, @attachment.url
-              assert_match %r{^/avatars/#{@instance.id}/small/5k\.jpg}, @attachment.url(:small)
+              assert_match %r{^/system/avatars/#{@instance.id}/original/5k\.png}, @attachment.url
+              assert_match %r{^/system/avatars/#{@instance.id}/small/5k\.jpg}, @attachment.url(:small)
             end
 
             should &quot;commit the files to disk&quot; do
@@ -341,7 +336,7 @@ class AttachmentTest &lt; Test::Unit::TestCase
               end
 
               should &quot;delete the files&quot; do
-                @existing_names.each{|f| assert ! File.exists?(f) }
+                @existing_names.each{|f| assert !File.exists?(f) }
               end
             end
           end</diff>
      <filename>test/attachment_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -24,21 +24,21 @@ class StorageTest &lt; Test::Unit::TestCase
 
     should &quot;get the correct credentials when RAILS_ENV is production&quot; do
       ENV['RAILS_ENV'] = 'production'
-      assert_equal({:key =&gt; &quot;12345&quot;},
+      assert_equal({'key' =&gt; &quot;12345&quot;},
                    @avatar.parse_credentials('production' =&gt; {:key =&gt; '12345'},
                                              :development =&gt; {:key =&gt; &quot;54321&quot;}))
     end
 
     should &quot;get the correct credentials when RAILS_ENV is development&quot; do
       ENV['RAILS_ENV'] = 'development'
-      assert_equal({:key =&gt; &quot;54321&quot;},
+      assert_equal({'key' =&gt; &quot;54321&quot;},
                    @avatar.parse_credentials('production' =&gt; {:key =&gt; '12345'},
                                              :development =&gt; {:key =&gt; &quot;54321&quot;}))
     end
 
     should &quot;return the argument if the key does not exist&quot; do
       ENV['RAILS_ENV'] = &quot;not really an env&quot;
-      assert_equal({:test =&gt; &quot;12345&quot;}, @avatar.parse_credentials(:test =&gt; &quot;12345&quot;))
+      assert_equal({'test' =&gt; &quot;12345&quot;}, @avatar.parse_credentials(:test =&gt; &quot;12345&quot;))
     end
   end
 </diff>
      <filename>test/storage_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -48,11 +48,11 @@ class ThumbnailTest &lt; Test::Unit::TestCase
     ].each do |args|
       context &quot;being thumbnailed with a geometry of #{args[0]}&quot; do
         setup do
-          @thumb = Paperclip::Thumbnail.new(@file, args[0])
+          @thumb = Paperclip::Thumbnail.new(@file, :geometry =&gt; args[0])
         end
 
         should &quot;start with dimensions of 434x66&quot; do
-          cmd = %Q[identify -format &quot;%wx%h&quot; #{@file.path}] 
+          cmd = %Q[identify -format &quot;%wx%h&quot; #{@file.path}]
           assert_equal &quot;434x66&quot;, `#{cmd}`.chomp
         end
 
@@ -66,7 +66,7 @@ class ThumbnailTest &lt; Test::Unit::TestCase
           end
 
           should &quot;be the size we expect it to be&quot; do
-            cmd = %Q[identify -format &quot;%wx%h&quot; #{@thumb_result.path}] 
+            cmd = %Q[identify -format &quot;%wx%h&quot; #{@thumb_result.path}]
             assert_equal args[1], `#{cmd}`.chomp
           end
         end
@@ -75,7 +75,7 @@ class ThumbnailTest &lt; Test::Unit::TestCase
 
     context &quot;being thumbnailed at 100x50 with cropping&quot; do
       setup do
-        @thumb = Paperclip::Thumbnail.new(@file, &quot;100x50#&quot;)
+        @thumb = Paperclip::Thumbnail.new(@file, :geometry =&gt; &quot;100x50#&quot;)
       end
 
       should &quot;report its correct current and target geometries&quot; do
@@ -88,16 +88,17 @@ class ThumbnailTest &lt; Test::Unit::TestCase
       end
 
       should &quot;have whiny_thumbnails turned on by default&quot; do
-        assert @thumb.whiny_thumbnails
+        assert @thumb.whiny
       end
-      
+
       should &quot;have convert_options set to nil by default&quot; do
         assert_equal nil, @thumb.convert_options
       end
 
       should &quot;send the right command to convert when sent #make&quot; do
-        @thumb.expects(:system).with do |arg|
-          arg.match %r{convert\s+&quot;#{File.expand_path(@thumb.file.path)}\[0\]&quot;\s+-resize\s+\&quot;x50\&quot;\s+-crop\s+\&quot;100x50\+114\+0\&quot;\s+\+repage\s+&quot;.*?&quot;}
+        Paperclip.expects(:run).with do |cmd, arg|
+          cmd.match 'convert'
+          arg.match %r{&quot;#{File.expand_path(@thumb.file.path)}\[0\]&quot;\s+-resize\s+\&quot;x50\&quot;\s+-crop\s+\&quot;100x50\+114\+0\&quot;\s+\+repage\s+&quot;.*?&quot;}
         end
         @thumb.make
       end
@@ -107,10 +108,10 @@ class ThumbnailTest &lt; Test::Unit::TestCase
         assert_match /100x50/, `identify #{dst.path}`
       end
     end
-    
+
     context &quot;being thumbnailed with convert options set&quot; do
       setup do
-        @thumb = Paperclip::Thumbnail.new(@file, &quot;100x50#&quot;, format=nil, convert_options=&quot;-strip -depth 8&quot;, whiny_thumbnails=true)
+        @thumb = Paperclip::Thumbnail.new(@file, :geometry =&gt; &quot;100x50#&quot;, :format =&gt; (format = nil), :convert_options =&gt; (convert_options=&quot;-strip -depth 8&quot;), :whiny =&gt; (whiny_thumbnails=true))
       end
 
       should &quot;have convert_options value set&quot; do
@@ -118,8 +119,9 @@ class ThumbnailTest &lt; Test::Unit::TestCase
       end
 
       should &quot;send the right command to convert when sent #make&quot; do
-        @thumb.expects(:system).with do |arg|
-          arg.match %r{convert\s+&quot;#{File.expand_path(@thumb.file.path)}\[0\]&quot;\s+-resize\s+&quot;x50&quot;\s+-crop\s+&quot;100x50\+114\+0&quot;\s+\+repage\s+-strip\s+-depth\s+8\s+&quot;.*?&quot;}
+        Paperclip.expects(:run).with do |cmd, arg|
+          cmd.match 'convert'
+          arg.match %r{&quot;#{File.expand_path(@thumb.file.path)}\[0\]&quot;\s+-resize\s+&quot;x50&quot;\s+-crop\s+&quot;100x50\+114\+0&quot;\s+\+repage\s+-strip\s+-depth\s+8\s+&quot;.*?&quot;}
         end
         @thumb.make
       end
@@ -128,10 +130,10 @@ class ThumbnailTest &lt; Test::Unit::TestCase
         dst = @thumb.make
         assert_match /100x50/, `identify #{dst.path}`
       end
-      
+
       context &quot;redefined to have bad convert_options setting&quot; do
         setup do
-          @thumb = Paperclip::Thumbnail.new(@file, &quot;100x50#&quot;, format=nil, convert_options=&quot;-this-aint-no-option&quot;, whiny_thumbnails=true)
+          @thumb = Paperclip::Thumbnail.new(@file, :geometry =&gt; &quot;100x50#&quot;, :format =&gt; nil, :convert_options =&gt; &quot;-this-aint-no-option&quot;, :whiny =&gt; true)
         end
 
         should &quot;error when trying to create the thumbnail&quot; do
@@ -139,7 +141,7 @@ class ThumbnailTest &lt; Test::Unit::TestCase
             @thumb.make
           end
         end
-      end      
+      end
     end
   end
 end</diff>
      <filename>test/thumbnail_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>082e6b0fc279e6dbd1ecb202d470067322c350d1</id>
    </parent>
  </parents>
  <author>
    <name>snusnu</name>
    <email>gamsnjaga@gmail.com</email>
  </author>
  <url>http://github.com/krobertson/dm-paperclip/commit/ea0b45d6c1dc74da613bf1cca97fc5fd38f0604f</url>
  <id>ea0b45d6c1dc74da613bf1cca97fc5fd38f0604f</id>
  <committed-date>2009-06-14T22:32:22-07:00</committed-date>
  <authored-date>2009-06-07T17:17:13-07:00</authored-date>
  <message>merged git://github.com/cheba/dm-paperclip.git into master

Signed-off-by: Ken Robertson &lt;ken@qgyen.net&gt;</message>
  <tree>0b85f2fab86948b81cd31474a2897842ccd88ce7</tree>
  <committer>
    <name>Ken Robertson</name>
    <email>ken@qgyen.net</email>
  </committer>
</commit>
