dm-paperclip 2.1.2 → 2.1.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/init.rb CHANGED
@@ -1,2 +1 @@
1
- require File.join(File.dirname(__FILE__), 'lib', 'dm-paperclip')
2
- File.send :include, Paperclip::Upfile
1
+ require File.join(File.dirname(__FILE__), 'lib', 'dm-paperclip')
@@ -37,7 +37,7 @@ require File.join(File.dirname(__FILE__), 'dm-paperclip', 'attachment')
37
37
  require File.join(File.dirname(__FILE__), 'dm-paperclip', 'validations') unless defined?(DataMapper::Validate).nil?
38
38
 
39
39
  module Paperclip
40
- VERSION = "2.1.2"
40
+ VERSION = "2.1.2.1"
41
41
  class << self
42
42
  # Provides configurability to Paperclip. There are a number of options available, such as:
43
43
  # * whiny_thumbnails: Will raise an error if Paperclip cannot process thumbnails of
@@ -214,16 +214,12 @@ module Paperclip
214
214
 
215
215
  def destroy_attached_files
216
216
  each_attachment do |name, attachment|
217
- attachment.queue_existing_for_delete
218
- attachment.flush_deletes
217
+ attachment.send(:queue_existing_for_delete)
218
+ attachment.send(:flush_deletes)
219
219
  end
220
220
  end
221
221
  end
222
222
 
223
223
  end
224
224
 
225
- # Set it all up.
226
- if Object.const_defined?("ActiveRecord")
227
- ActiveRecord::Base.send(:include, Paperclip)
228
- File.send(:include, Paperclip::Upfile)
229
- end
225
+ File.send(:include, Paperclip::Upfile)
@@ -57,11 +57,19 @@ module Paperclip
57
57
 
58
58
  return nil if uploaded_file.nil?
59
59
 
60
- @queued_for_write[:original] = uploaded_file.to_tempfile
61
- newvals = { :"#{@name}_file_name" => uploaded_file.original_filename,
62
- :"#{@name}_content_type" => uploaded_file.content_type,
63
- :"#{@name}_file_size" => uploaded_file.size }
64
- @instance.update_attributes(newvals)
60
+ if uploaded_file.is_a?(Mash)
61
+ @queued_for_write[:original] = uploaded_file['tempfile']
62
+ newvals = { :"#{@name}_file_name" => uploaded_file['filename'],
63
+ :"#{@name}_content_type" => uploaded_file['content_type'],
64
+ :"#{@name}_file_size" => uploaded_file['size'] }
65
+ @instance.update_attributes(newvals)
66
+ else
67
+ @queued_for_write[:original] = uploaded_file.to_tempfile
68
+ newvals = { :"#{@name}_file_name" => uploaded_file.original_filename,
69
+ :"#{@name}_content_type" => uploaded_file.content_type,
70
+ :"#{@name}_file_size" => uploaded_file.size }
71
+ @instance.update_attributes(newvals)
72
+ end
65
73
 
66
74
  @dirty = true
67
75
 
@@ -181,7 +189,12 @@ module Paperclip
181
189
  end
182
190
 
183
191
  def valid_assignment? file #:nodoc:
184
- file.nil? || (file.respond_to?(:original_filename) && file.respond_to?(:content_type))
192
+ return true if file.nil?
193
+ if(file.is_a?(File))
194
+ (file.respond_to?(:original_filename) && file.respond_to?(:content_type))
195
+ elsif(file.is_a?(Mash))
196
+ (file.include?('tempfile') && file.include?('content_type') && file.include?('size') && file.include?('filename'))
197
+ end
185
198
  end
186
199
 
187
200
  def validate #:nodoc:
@@ -36,6 +36,11 @@ ENV['RAILS_ENV'] ||= 'test'
36
36
  FIXTURES_DIR = File.join(File.dirname(__FILE__), "fixtures")
37
37
  DataMapper.setup(:default, 'sqlite3::memory:')
38
38
 
39
+ unless defined?(Mash)
40
+ class Mash < Hash
41
+ end
42
+ end
43
+
39
44
  def rebuild_model options = {}
40
45
  DataMapper::Migration.new( 1, :drop_dummies_table ) do
41
46
  up do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-paperclip
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Robertson