upload_cache 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/upload_cache.rb CHANGED
@@ -5,7 +5,7 @@ require 'tmpdir'
5
5
  require 'map'
6
6
 
7
7
  class UploadCache
8
- Version = '1.4.0'
8
+ Version = '1.4.1'
9
9
 
10
10
  Readme = <<-__
11
11
  NAME
@@ -64,7 +64,7 @@ class UploadCache
64
64
  def url
65
65
  @url ||= (
66
66
  if defined?(Rails.root) and Rails.root
67
- '/system/uploads/cache'
67
+ '/system/upload_cache'
68
68
  else
69
69
  "file:/#{ root }"
70
70
  end
@@ -202,12 +202,20 @@ class UploadCache
202
202
  key = Array(options[:key] || args).flatten.compact
203
203
  key = [:upload] if key.empty?
204
204
 
205
+ return(
206
+ currently_uploaded_file(params, key, options) or
207
+ previously_uploaded_file(params, key, options) or
208
+ default_uploaded_file(params, key, options)
209
+ )
210
+ end
211
+
212
+ def currently_uploaded_file(params, key, options)
205
213
  upload = params.get(key)
206
214
 
207
215
  if upload.respond_to?(:read)
208
216
  tmpdir do |tmp|
209
217
  original_basename =
210
- [:path, :filename, :original_path, :original_filename].
218
+ [:original_path, :original_filename, :path, :filename].
211
219
  map{|msg| upload.send(msg) if upload.respond_to?(msg)}.compact.first
212
220
  basename = cleanname(original_basename)
213
221
 
@@ -219,12 +227,16 @@ class UploadCache
219
227
  end
220
228
  end
221
229
 
230
+ false
231
+ end
232
+
233
+ def previously_uploaded_file(params, key, options)
222
234
  cache_key = cache_key_for(key)
223
235
  upload_cache = params.get(cache_key)
224
236
 
225
237
  if upload_cache
226
- dirname, basename = File.split(upload_cache)
227
- relative_dirname = File.expand_path(File.dirname(dirname))
238
+ dirname, basename = File.split(File.expand_path(upload_cache))
239
+ relative_dirname = File.basename(dirname)
228
240
  relative_basename = File.join(relative_dirname, basename)
229
241
  path = root + '/' + relative_basename
230
242
  upload_cache = UploadCache.new(key, path, options)
@@ -232,6 +244,10 @@ class UploadCache
232
244
  return upload_cache
233
245
  end
234
246
 
247
+ false
248
+ end
249
+
250
+ def default_uploaded_file(params, key, options)
235
251
  upload_cache = UploadCache.new(key, options)
236
252
  params.set(key, upload_cache.io) if upload_cache.io
237
253
  return upload_cache
data/upload_cache.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification::new do |spec|
5
5
  spec.name = "upload_cache"
6
- spec.version = "1.4.0"
6
+ spec.version = "1.4.1"
7
7
  spec.platform = Gem::Platform::RUBY
8
8
  spec.summary = "upload_cache"
9
9
  spec.description = "description: upload_cache kicks the ass"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upload_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-05 00:00:00.000000000 Z
12
+ date: 2011-12-06 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! 'description: upload_cache kicks the ass'
15
15
  email: ara.t.howard@gmail.com