file_upload 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/Rakefile +34 -0
- data/app/assets/javascripts/file_upload/application.js +13 -0
- data/app/assets/javascripts/file_upload.js.erb +148 -0
- data/app/assets/stylesheets/file_upload/application.css +13 -0
- data/app/assets/stylesheets/file_upload.css +3 -0
- data/app/controllers/file_upload/application_controller.rb +4 -0
- data/app/controllers/file_upload/redis_files_controller.rb +54 -0
- data/app/helpers/file_upload/application_helper.rb +4 -0
- data/app/helpers/file_upload/tag_helper.rb +25 -0
- data/app/models/file_upload/builder_mixin.rb +13 -0
- data/app/models/file_upload/redis_file.rb +159 -0
- data/app/models/file_upload/redis_file_readable.rb +21 -0
- data/app/models/file_upload/temp_file.rb +17 -0
- data/app/views/file_upload/redis_files/index.html.erb +1 -0
- data/app/views/file_upload/redis_files/new.html.erb +9 -0
- data/app/views/file_upload/redis_files/show.html.erb +15 -0
- data/app/views/file_upload/tags/_multiple.html.erb +44 -0
- data/app/views/file_upload/tags/_single.html.erb +46 -0
- data/app/views/layouts/file_upload/application.html.erb +14 -0
- data/config/routes.rb +6 -0
- data/lib/file_upload/engine.rb +40 -0
- data/lib/file_upload/version.rb +3 -0
- data/lib/file_upload.rb +7 -0
- data/lib/tasks/file_upload_tasks.rake +4 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/javascripts/jquery-1.10.2.min.js +6 -0
- data/test/dummy/app/assets/javascripts/jquery-ui.js +15003 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/db_files_controller.rb +8 -0
- data/test/dummy/app/controllers/emails_controller.rb +43 -0
- data/test/dummy/app/controllers/users_controller.rb +42 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/db_file.rb +13 -0
- data/test/dummy/app/models/email.rb +10 -0
- data/test/dummy/app/models/user.rb +9 -0
- data/test/dummy/app/views/db_files/_db_file.html.erb +1 -0
- data/test/dummy/app/views/emails/_email.html.erb +3 -0
- data/test/dummy/app/views/emails/_form.html.erb +24 -0
- data/test/dummy/app/views/emails/edit.html.erb +3 -0
- data/test/dummy/app/views/emails/index.html.erb +5 -0
- data/test/dummy/app/views/emails/new.html.erb +3 -0
- data/test/dummy/app/views/emails/show.html.erb +14 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/users/_form.html.erb +20 -0
- data/test/dummy/app/views/users/_user.html.erb +1 -0
- data/test/dummy/app/views/users/edit.html.erb +3 -0
- data/test/dummy/app/views/users/index.html.erb +5 -0
- data/test/dummy/app/views/users/new.html.erb +3 -0
- data/test/dummy/app/views/users/show.html.erb +8 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config/application.rb +28 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +31 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +29 -0
- data/test/dummy/config/environments/production.rb +80 -0
- data/test/dummy/config/environments/test.rb +36 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +12 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +7 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20130820025256_add_users.rb +21 -0
- data/test/dummy/db/schema.rb +34 -0
- data/test/dummy/log/development.log +15541 -0
- data/test/dummy/log/test.log +26004 -0
- data/test/dummy/public/404.html +58 -0
- data/test/dummy/public/422.html +58 -0
- data/test/dummy/public/500.html +57 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1027254ad9f9317017cee3f9f844a862 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/21e0ff88cf13ca60a86a9b629cdca847 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/24cf35cebd10e0755a5585f9e486aa35 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/27413a86db5db5977d5dd1d87c724907 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5c6d9c2c3107f94ad59710d3b31f75 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3131541e8089635bc8595e2da83d1d81 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/32f1d616324cf52e9876bb83b9b0841a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/33474263b3841cd98ef63cde45dc85b2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3fa0d13a4820d4aa56f86ed4af4b88fc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4e07f6f4475a0dca9066eec990db088a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5512d0b5788ce193fd26bfadccd21304 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5d5ab91fa7d1eee7502e703747d4e933 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6b7e97595c37161f619adfd2b7724ea2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/87fa3cc4e2e49762d146f3d1709b3fb0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8806d06f37e08b22f9546e50ab98d671 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8cdad172c92eaf76e1b71c84f58a192e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/91e53bdf30a2b8e78bf99ca794addf70 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/96e2b2964d1d31d997a1af35ad0afed2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ab5c07d7e81fb5d5cf7460715f22bef6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b94837629e2fb2ef40ea66348764a9a2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c360bf7b66d29ebdf71b5814574b5fed +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e046b0166566aeeb2da51f2bde543364 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ec2d15616d5d09eb1693b761c72948ce +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fc0327db3eb7c687c31f2acf94871f86 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/1027254ad9f9317017cee3f9f844a862 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/21e0ff88cf13ca60a86a9b629cdca847 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/24cf35cebd10e0755a5585f9e486aa35 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/27413a86db5db5977d5dd1d87c724907 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/32f1d616324cf52e9876bb83b9b0841a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/3fa0d13a4820d4aa56f86ed4af4b88fc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5d5ab91fa7d1eee7502e703747d4e933 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/6b7e97595c37161f619adfd2b7724ea2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/87fa3cc4e2e49762d146f3d1709b3fb0 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8806d06f37e08b22f9546e50ab98d671 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ab5c07d7e81fb5d5cf7460715f22bef6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b94837629e2fb2ef40ea66348764a9a2 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c360bf7b66d29ebdf71b5814574b5fed +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/e046b0166566aeeb2da51f2bde543364 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/ec2d15616d5d09eb1693b761c72948ce +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/fc0327db3eb7c687c31f2acf94871f86 +0 -0
- data/test/fixtures/avatar.jpeg +0 -0
- data/test/fixtures/test_upload.txt +1 -0
- data/test/integration/multiple_upload_test.rb +131 -0
- data/test/integration/single_upload_test.rb +157 -0
- data/test/test_helper.rb +60 -0
- data/test/unit/redis_file_readable_test.rb +30 -0
- data/test/unit/redis_file_test.rb +30 -0
- data/vendor/assets/javascripts/jquery.fileupload.js +1113 -0
- data/vendor/assets/javascripts/load-image.js +232 -0
- metadata +401 -0
@@ -0,0 +1,232 @@
|
|
1
|
+
/*
|
2
|
+
* JavaScript Load Image 1.2.3
|
3
|
+
* https://github.com/blueimp/JavaScript-Load-Image
|
4
|
+
*
|
5
|
+
* Copyright 2011, Sebastian Tschan
|
6
|
+
* https://blueimp.net
|
7
|
+
*
|
8
|
+
* iOS image scaling fixes based on
|
9
|
+
* https://github.com/stomita/ios-imagefile-megapixel
|
10
|
+
*
|
11
|
+
* Licensed under the MIT license:
|
12
|
+
* http://www.opensource.org/licenses/MIT
|
13
|
+
*/
|
14
|
+
|
15
|
+
/*jslint nomen: true, bitwise: true */
|
16
|
+
/*global window, document, URL, webkitURL, Blob, File, FileReader, define */
|
17
|
+
|
18
|
+
(function ($) {
|
19
|
+
'use strict';
|
20
|
+
|
21
|
+
// Loads an image for a given File object.
|
22
|
+
// Invokes the callback with an img or optional canvas
|
23
|
+
// element (if supported by the browser) as parameter:
|
24
|
+
var loadImage = function (file, callback, options) {
|
25
|
+
var img = document.createElement('img'),
|
26
|
+
url,
|
27
|
+
oUrl;
|
28
|
+
img.onerror = callback;
|
29
|
+
img.onload = function () {
|
30
|
+
if (oUrl && !(options && options.noRevoke)) {
|
31
|
+
loadImage.revokeObjectURL(oUrl);
|
32
|
+
}
|
33
|
+
callback(loadImage.scale(img, options));
|
34
|
+
};
|
35
|
+
if ((window.Blob && file instanceof Blob) ||
|
36
|
+
// Files are also Blob instances, but some browsers
|
37
|
+
// (Firefox 3.6) support the File API but not Blobs:
|
38
|
+
(window.File && file instanceof File)) {
|
39
|
+
url = oUrl = loadImage.createObjectURL(file);
|
40
|
+
// Store the file type for resize processing:
|
41
|
+
img._type = file.type;
|
42
|
+
} else {
|
43
|
+
url = file;
|
44
|
+
}
|
45
|
+
if (url) {
|
46
|
+
img.src = url;
|
47
|
+
return img;
|
48
|
+
}
|
49
|
+
return loadImage.readFile(file, function (e) {
|
50
|
+
var target = e.target;
|
51
|
+
if (target && target.result) {
|
52
|
+
img.src = target.result;
|
53
|
+
} else {
|
54
|
+
callback(e);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
},
|
58
|
+
// The check for URL.revokeObjectURL fixes an issue with Opera 12,
|
59
|
+
// which provides URL.createObjectURL but doesn't properly implement it:
|
60
|
+
urlAPI = (window.createObjectURL && window) ||
|
61
|
+
(window.URL && URL.revokeObjectURL && URL) ||
|
62
|
+
(window.webkitURL && webkitURL);
|
63
|
+
|
64
|
+
// Detects subsampling in JPEG images:
|
65
|
+
loadImage.detectSubsampling = function (img) {
|
66
|
+
var iw = img.width,
|
67
|
+
ih = img.height,
|
68
|
+
canvas,
|
69
|
+
ctx;
|
70
|
+
if (iw * ih > 1024 * 1024) { // only consider mexapixel images
|
71
|
+
canvas = document.createElement('canvas');
|
72
|
+
canvas.width = canvas.height = 1;
|
73
|
+
ctx = canvas.getContext('2d');
|
74
|
+
ctx.drawImage(img, -iw + 1, 0);
|
75
|
+
// subsampled image becomes half smaller in rendering size.
|
76
|
+
// check alpha channel value to confirm image is covering edge pixel or not.
|
77
|
+
// if alpha value is 0 image is not covering, hence subsampled.
|
78
|
+
return ctx.getImageData(0, 0, 1, 1).data[3] === 0;
|
79
|
+
}
|
80
|
+
return false;
|
81
|
+
};
|
82
|
+
|
83
|
+
// Detects vertical squash in JPEG images:
|
84
|
+
loadImage.detectVerticalSquash = function (img, ih) {
|
85
|
+
var canvas = document.createElement('canvas'),
|
86
|
+
ctx = canvas.getContext('2d'),
|
87
|
+
data,
|
88
|
+
sy,
|
89
|
+
ey,
|
90
|
+
py,
|
91
|
+
alpha;
|
92
|
+
canvas.width = 1;
|
93
|
+
canvas.height = ih;
|
94
|
+
ctx.drawImage(img, 0, 0);
|
95
|
+
data = ctx.getImageData(0, 0, 1, ih).data;
|
96
|
+
// search image edge pixel position in case it is squashed vertically:
|
97
|
+
sy = 0;
|
98
|
+
ey = ih;
|
99
|
+
py = ih;
|
100
|
+
while (py > sy) {
|
101
|
+
alpha = data[(py - 1) * 4 + 3];
|
102
|
+
if (alpha === 0) {
|
103
|
+
ey = py;
|
104
|
+
} else {
|
105
|
+
sy = py;
|
106
|
+
}
|
107
|
+
py = (ey + sy) >> 1;
|
108
|
+
}
|
109
|
+
return py / ih;
|
110
|
+
};
|
111
|
+
|
112
|
+
// Renders image to canvas while working around iOS image scaling bugs:
|
113
|
+
// https://github.com/blueimp/JavaScript-Load-Image/issues/13
|
114
|
+
loadImage.renderImageToCanvas = function (img, canvas, width, height) {
|
115
|
+
var iw = img.width,
|
116
|
+
ih = img.height,
|
117
|
+
ctx = canvas.getContext('2d'),
|
118
|
+
vertSquashRatio,
|
119
|
+
d = 1024, // size of tiling canvas
|
120
|
+
tmpCanvas = document.createElement('canvas'),
|
121
|
+
tmpCtx,
|
122
|
+
sy,
|
123
|
+
sh,
|
124
|
+
sx,
|
125
|
+
sw;
|
126
|
+
ctx.save();
|
127
|
+
if (loadImage.detectSubsampling(img)) {
|
128
|
+
iw /= 2;
|
129
|
+
ih /= 2;
|
130
|
+
}
|
131
|
+
vertSquashRatio = loadImage.detectVerticalSquash(img, ih);
|
132
|
+
tmpCanvas.width = tmpCanvas.height = d;
|
133
|
+
tmpCtx = tmpCanvas.getContext('2d');
|
134
|
+
sy = 0;
|
135
|
+
while (sy < ih) {
|
136
|
+
sh = sy + d > ih ? ih - sy : d;
|
137
|
+
sx = 0;
|
138
|
+
while (sx < iw) {
|
139
|
+
sw = sx + d > iw ? iw - sx : d;
|
140
|
+
tmpCtx.clearRect(0, 0, d, d);
|
141
|
+
tmpCtx.drawImage(img, -sx, -sy);
|
142
|
+
ctx.drawImage(
|
143
|
+
tmpCanvas,
|
144
|
+
0,
|
145
|
+
0,
|
146
|
+
sw,
|
147
|
+
sh,
|
148
|
+
Math.floor(sx * width / iw),
|
149
|
+
Math.floor(sy * height / ih / vertSquashRatio),
|
150
|
+
Math.ceil(sw * width / iw),
|
151
|
+
Math.ceil(sh * height / ih / vertSquashRatio)
|
152
|
+
);
|
153
|
+
sx += d;
|
154
|
+
}
|
155
|
+
sy += d;
|
156
|
+
}
|
157
|
+
ctx.restore();
|
158
|
+
tmpCanvas = tmpCtx = null;
|
159
|
+
};
|
160
|
+
|
161
|
+
// Scales the given image (img or canvas HTML element)
|
162
|
+
// using the given options.
|
163
|
+
// Returns a canvas object if the browser supports canvas
|
164
|
+
// and the canvas option is true or a canvas object is passed
|
165
|
+
// as image, else the scaled image:
|
166
|
+
loadImage.scale = function (img, options) {
|
167
|
+
options = options || {};
|
168
|
+
var canvas = document.createElement('canvas'),
|
169
|
+
width = img.width,
|
170
|
+
height = img.height,
|
171
|
+
scale = Math.max(
|
172
|
+
(options.minWidth || width) / width,
|
173
|
+
(options.minHeight || height) / height
|
174
|
+
);
|
175
|
+
if (scale > 1) {
|
176
|
+
width = parseInt(width * scale, 10);
|
177
|
+
height = parseInt(height * scale, 10);
|
178
|
+
}
|
179
|
+
scale = Math.min(
|
180
|
+
(options.maxWidth || width) / width,
|
181
|
+
(options.maxHeight || height) / height
|
182
|
+
);
|
183
|
+
if (scale < 1) {
|
184
|
+
width = parseInt(width * scale, 10);
|
185
|
+
height = parseInt(height * scale, 10);
|
186
|
+
}
|
187
|
+
if (img.getContext || (options.canvas && canvas.getContext)) {
|
188
|
+
canvas.width = width;
|
189
|
+
canvas.height = height;
|
190
|
+
if (img._type === 'image/jpeg') {
|
191
|
+
loadImage
|
192
|
+
.renderImageToCanvas(img, canvas, width, height);
|
193
|
+
} else {
|
194
|
+
canvas.getContext('2d')
|
195
|
+
.drawImage(img, 0, 0, width, height);
|
196
|
+
}
|
197
|
+
return canvas;
|
198
|
+
}
|
199
|
+
img.width = width;
|
200
|
+
img.height = height;
|
201
|
+
return img;
|
202
|
+
};
|
203
|
+
|
204
|
+
loadImage.createObjectURL = function (file) {
|
205
|
+
return urlAPI ? urlAPI.createObjectURL(file) : false;
|
206
|
+
};
|
207
|
+
|
208
|
+
loadImage.revokeObjectURL = function (url) {
|
209
|
+
return urlAPI ? urlAPI.revokeObjectURL(url) : false;
|
210
|
+
};
|
211
|
+
|
212
|
+
// Loads a given File object via FileReader interface,
|
213
|
+
// invokes the callback with the event object (load or error).
|
214
|
+
// The result can be read via event.target.result:
|
215
|
+
loadImage.readFile = function (file, callback) {
|
216
|
+
if (window.FileReader && FileReader.prototype.readAsDataURL) {
|
217
|
+
var fileReader = new FileReader();
|
218
|
+
fileReader.onload = fileReader.onerror = callback;
|
219
|
+
fileReader.readAsDataURL(file);
|
220
|
+
return fileReader;
|
221
|
+
}
|
222
|
+
return false;
|
223
|
+
};
|
224
|
+
|
225
|
+
if (typeof define === 'function' && define.amd) {
|
226
|
+
define(function () {
|
227
|
+
return loadImage;
|
228
|
+
});
|
229
|
+
} else {
|
230
|
+
$.loadImage = loadImage;
|
231
|
+
}
|
232
|
+
}(this));
|
metadata
ADDED
@@ -0,0 +1,401 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: file_upload
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jeff Ching
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-08-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ruby-filemagic
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.2.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.2.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: redis
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mysql2
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jquery-rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: capybara-webkit
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: connection_pool
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: Handles uploading files and saving to S3
|
112
|
+
email:
|
113
|
+
- ching.jeff@gmail.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- app/assets/javascripts/file_upload/application.js
|
119
|
+
- app/assets/javascripts/file_upload.js.erb
|
120
|
+
- app/assets/stylesheets/file_upload/application.css
|
121
|
+
- app/assets/stylesheets/file_upload.css
|
122
|
+
- app/controllers/file_upload/application_controller.rb
|
123
|
+
- app/controllers/file_upload/redis_files_controller.rb
|
124
|
+
- app/helpers/file_upload/application_helper.rb
|
125
|
+
- app/helpers/file_upload/tag_helper.rb
|
126
|
+
- app/models/file_upload/builder_mixin.rb
|
127
|
+
- app/models/file_upload/redis_file.rb
|
128
|
+
- app/models/file_upload/redis_file_readable.rb
|
129
|
+
- app/models/file_upload/temp_file.rb
|
130
|
+
- app/views/file_upload/redis_files/index.html.erb
|
131
|
+
- app/views/file_upload/redis_files/new.html.erb
|
132
|
+
- app/views/file_upload/redis_files/show.html.erb
|
133
|
+
- app/views/file_upload/tags/_multiple.html.erb
|
134
|
+
- app/views/file_upload/tags/_single.html.erb
|
135
|
+
- app/views/layouts/file_upload/application.html.erb
|
136
|
+
- config/routes.rb
|
137
|
+
- lib/file_upload/engine.rb
|
138
|
+
- lib/file_upload/version.rb
|
139
|
+
- lib/file_upload.rb
|
140
|
+
- lib/tasks/file_upload_tasks.rake
|
141
|
+
- vendor/assets/javascripts/jquery.fileupload.js
|
142
|
+
- vendor/assets/javascripts/load-image.js
|
143
|
+
- MIT-LICENSE
|
144
|
+
- Rakefile
|
145
|
+
- test/dummy/app/assets/javascripts/application.js
|
146
|
+
- test/dummy/app/assets/javascripts/jquery-1.10.2.min.js
|
147
|
+
- test/dummy/app/assets/javascripts/jquery-ui.js
|
148
|
+
- test/dummy/app/assets/stylesheets/application.css
|
149
|
+
- test/dummy/app/controllers/application_controller.rb
|
150
|
+
- test/dummy/app/controllers/db_files_controller.rb
|
151
|
+
- test/dummy/app/controllers/emails_controller.rb
|
152
|
+
- test/dummy/app/controllers/users_controller.rb
|
153
|
+
- test/dummy/app/helpers/application_helper.rb
|
154
|
+
- test/dummy/app/models/db_file.rb
|
155
|
+
- test/dummy/app/models/email.rb
|
156
|
+
- test/dummy/app/models/user.rb
|
157
|
+
- test/dummy/app/views/db_files/_db_file.html.erb
|
158
|
+
- test/dummy/app/views/emails/_email.html.erb
|
159
|
+
- test/dummy/app/views/emails/_form.html.erb
|
160
|
+
- test/dummy/app/views/emails/edit.html.erb
|
161
|
+
- test/dummy/app/views/emails/index.html.erb
|
162
|
+
- test/dummy/app/views/emails/new.html.erb
|
163
|
+
- test/dummy/app/views/emails/show.html.erb
|
164
|
+
- test/dummy/app/views/layouts/application.html.erb
|
165
|
+
- test/dummy/app/views/users/_form.html.erb
|
166
|
+
- test/dummy/app/views/users/_user.html.erb
|
167
|
+
- test/dummy/app/views/users/edit.html.erb
|
168
|
+
- test/dummy/app/views/users/index.html.erb
|
169
|
+
- test/dummy/app/views/users/new.html.erb
|
170
|
+
- test/dummy/app/views/users/show.html.erb
|
171
|
+
- test/dummy/bin/bundle
|
172
|
+
- test/dummy/bin/rails
|
173
|
+
- test/dummy/bin/rake
|
174
|
+
- test/dummy/config/application.rb
|
175
|
+
- test/dummy/config/boot.rb
|
176
|
+
- test/dummy/config/database.yml
|
177
|
+
- test/dummy/config/environment.rb
|
178
|
+
- test/dummy/config/environments/development.rb
|
179
|
+
- test/dummy/config/environments/production.rb
|
180
|
+
- test/dummy/config/environments/test.rb
|
181
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
182
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
183
|
+
- test/dummy/config/initializers/inflections.rb
|
184
|
+
- test/dummy/config/initializers/mime_types.rb
|
185
|
+
- test/dummy/config/initializers/secret_token.rb
|
186
|
+
- test/dummy/config/initializers/session_store.rb
|
187
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
188
|
+
- test/dummy/config/locales/en.yml
|
189
|
+
- test/dummy/config/routes.rb
|
190
|
+
- test/dummy/config.ru
|
191
|
+
- test/dummy/db/development.sqlite3
|
192
|
+
- test/dummy/db/migrate/20130820025256_add_users.rb
|
193
|
+
- test/dummy/db/schema.rb
|
194
|
+
- test/dummy/log/development.log
|
195
|
+
- test/dummy/log/test.log
|
196
|
+
- test/dummy/public/404.html
|
197
|
+
- test/dummy/public/422.html
|
198
|
+
- test/dummy/public/500.html
|
199
|
+
- test/dummy/public/favicon.ico
|
200
|
+
- test/dummy/Rakefile
|
201
|
+
- test/dummy/README.rdoc
|
202
|
+
- test/dummy/tmp/cache/assets/development/sprockets/1027254ad9f9317017cee3f9f844a862
|
203
|
+
- test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
|
204
|
+
- test/dummy/tmp/cache/assets/development/sprockets/21e0ff88cf13ca60a86a9b629cdca847
|
205
|
+
- test/dummy/tmp/cache/assets/development/sprockets/24cf35cebd10e0755a5585f9e486aa35
|
206
|
+
- test/dummy/tmp/cache/assets/development/sprockets/27413a86db5db5977d5dd1d87c724907
|
207
|
+
- test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
|
208
|
+
- test/dummy/tmp/cache/assets/development/sprockets/2f5c6d9c2c3107f94ad59710d3b31f75
|
209
|
+
- test/dummy/tmp/cache/assets/development/sprockets/3131541e8089635bc8595e2da83d1d81
|
210
|
+
- test/dummy/tmp/cache/assets/development/sprockets/32f1d616324cf52e9876bb83b9b0841a
|
211
|
+
- test/dummy/tmp/cache/assets/development/sprockets/33474263b3841cd98ef63cde45dc85b2
|
212
|
+
- test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
|
213
|
+
- test/dummy/tmp/cache/assets/development/sprockets/3fa0d13a4820d4aa56f86ed4af4b88fc
|
214
|
+
- test/dummy/tmp/cache/assets/development/sprockets/4e07f6f4475a0dca9066eec990db088a
|
215
|
+
- test/dummy/tmp/cache/assets/development/sprockets/5512d0b5788ce193fd26bfadccd21304
|
216
|
+
- test/dummy/tmp/cache/assets/development/sprockets/5d5ab91fa7d1eee7502e703747d4e933
|
217
|
+
- test/dummy/tmp/cache/assets/development/sprockets/6b7e97595c37161f619adfd2b7724ea2
|
218
|
+
- test/dummy/tmp/cache/assets/development/sprockets/87fa3cc4e2e49762d146f3d1709b3fb0
|
219
|
+
- test/dummy/tmp/cache/assets/development/sprockets/8806d06f37e08b22f9546e50ab98d671
|
220
|
+
- test/dummy/tmp/cache/assets/development/sprockets/8cdad172c92eaf76e1b71c84f58a192e
|
221
|
+
- test/dummy/tmp/cache/assets/development/sprockets/91e53bdf30a2b8e78bf99ca794addf70
|
222
|
+
- test/dummy/tmp/cache/assets/development/sprockets/96e2b2964d1d31d997a1af35ad0afed2
|
223
|
+
- test/dummy/tmp/cache/assets/development/sprockets/ab5c07d7e81fb5d5cf7460715f22bef6
|
224
|
+
- test/dummy/tmp/cache/assets/development/sprockets/b94837629e2fb2ef40ea66348764a9a2
|
225
|
+
- test/dummy/tmp/cache/assets/development/sprockets/c360bf7b66d29ebdf71b5814574b5fed
|
226
|
+
- test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
|
227
|
+
- test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
|
228
|
+
- test/dummy/tmp/cache/assets/development/sprockets/e046b0166566aeeb2da51f2bde543364
|
229
|
+
- test/dummy/tmp/cache/assets/development/sprockets/ec2d15616d5d09eb1693b761c72948ce
|
230
|
+
- test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
231
|
+
- test/dummy/tmp/cache/assets/development/sprockets/fc0327db3eb7c687c31f2acf94871f86
|
232
|
+
- test/dummy/tmp/cache/assets/test/sprockets/1027254ad9f9317017cee3f9f844a862
|
233
|
+
- test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
|
234
|
+
- test/dummy/tmp/cache/assets/test/sprockets/21e0ff88cf13ca60a86a9b629cdca847
|
235
|
+
- test/dummy/tmp/cache/assets/test/sprockets/24cf35cebd10e0755a5585f9e486aa35
|
236
|
+
- test/dummy/tmp/cache/assets/test/sprockets/27413a86db5db5977d5dd1d87c724907
|
237
|
+
- test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
|
238
|
+
- test/dummy/tmp/cache/assets/test/sprockets/32f1d616324cf52e9876bb83b9b0841a
|
239
|
+
- test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
|
240
|
+
- test/dummy/tmp/cache/assets/test/sprockets/3fa0d13a4820d4aa56f86ed4af4b88fc
|
241
|
+
- test/dummy/tmp/cache/assets/test/sprockets/5d5ab91fa7d1eee7502e703747d4e933
|
242
|
+
- test/dummy/tmp/cache/assets/test/sprockets/6b7e97595c37161f619adfd2b7724ea2
|
243
|
+
- test/dummy/tmp/cache/assets/test/sprockets/87fa3cc4e2e49762d146f3d1709b3fb0
|
244
|
+
- test/dummy/tmp/cache/assets/test/sprockets/8806d06f37e08b22f9546e50ab98d671
|
245
|
+
- test/dummy/tmp/cache/assets/test/sprockets/ab5c07d7e81fb5d5cf7460715f22bef6
|
246
|
+
- test/dummy/tmp/cache/assets/test/sprockets/b94837629e2fb2ef40ea66348764a9a2
|
247
|
+
- test/dummy/tmp/cache/assets/test/sprockets/c360bf7b66d29ebdf71b5814574b5fed
|
248
|
+
- test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
|
249
|
+
- test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
|
250
|
+
- test/dummy/tmp/cache/assets/test/sprockets/e046b0166566aeeb2da51f2bde543364
|
251
|
+
- test/dummy/tmp/cache/assets/test/sprockets/ec2d15616d5d09eb1693b761c72948ce
|
252
|
+
- test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
253
|
+
- test/dummy/tmp/cache/assets/test/sprockets/fc0327db3eb7c687c31f2acf94871f86
|
254
|
+
- test/fixtures/avatar.jpeg
|
255
|
+
- test/fixtures/test_upload.txt
|
256
|
+
- test/integration/multiple_upload_test.rb
|
257
|
+
- test/integration/single_upload_test.rb
|
258
|
+
- test/test_helper.rb
|
259
|
+
- test/unit/redis_file_readable_test.rb
|
260
|
+
- test/unit/redis_file_test.rb
|
261
|
+
homepage: http://chingr.com
|
262
|
+
licenses:
|
263
|
+
- MIT
|
264
|
+
metadata: {}
|
265
|
+
post_install_message:
|
266
|
+
rdoc_options: []
|
267
|
+
require_paths:
|
268
|
+
- lib
|
269
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
270
|
+
requirements:
|
271
|
+
- - '>='
|
272
|
+
- !ruby/object:Gem::Version
|
273
|
+
version: '0'
|
274
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - '>='
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
requirements: []
|
280
|
+
rubyforge_project:
|
281
|
+
rubygems_version: 2.0.3
|
282
|
+
signing_key:
|
283
|
+
specification_version: 4
|
284
|
+
summary: Handles uploading files and saving to S3
|
285
|
+
test_files:
|
286
|
+
- test/dummy/app/assets/javascripts/application.js
|
287
|
+
- test/dummy/app/assets/javascripts/jquery-1.10.2.min.js
|
288
|
+
- test/dummy/app/assets/javascripts/jquery-ui.js
|
289
|
+
- test/dummy/app/assets/stylesheets/application.css
|
290
|
+
- test/dummy/app/controllers/application_controller.rb
|
291
|
+
- test/dummy/app/controllers/db_files_controller.rb
|
292
|
+
- test/dummy/app/controllers/emails_controller.rb
|
293
|
+
- test/dummy/app/controllers/users_controller.rb
|
294
|
+
- test/dummy/app/helpers/application_helper.rb
|
295
|
+
- test/dummy/app/models/db_file.rb
|
296
|
+
- test/dummy/app/models/email.rb
|
297
|
+
- test/dummy/app/models/user.rb
|
298
|
+
- test/dummy/app/views/db_files/_db_file.html.erb
|
299
|
+
- test/dummy/app/views/emails/_email.html.erb
|
300
|
+
- test/dummy/app/views/emails/_form.html.erb
|
301
|
+
- test/dummy/app/views/emails/edit.html.erb
|
302
|
+
- test/dummy/app/views/emails/index.html.erb
|
303
|
+
- test/dummy/app/views/emails/new.html.erb
|
304
|
+
- test/dummy/app/views/emails/show.html.erb
|
305
|
+
- test/dummy/app/views/layouts/application.html.erb
|
306
|
+
- test/dummy/app/views/users/_form.html.erb
|
307
|
+
- test/dummy/app/views/users/_user.html.erb
|
308
|
+
- test/dummy/app/views/users/edit.html.erb
|
309
|
+
- test/dummy/app/views/users/index.html.erb
|
310
|
+
- test/dummy/app/views/users/new.html.erb
|
311
|
+
- test/dummy/app/views/users/show.html.erb
|
312
|
+
- test/dummy/bin/bundle
|
313
|
+
- test/dummy/bin/rails
|
314
|
+
- test/dummy/bin/rake
|
315
|
+
- test/dummy/config/application.rb
|
316
|
+
- test/dummy/config/boot.rb
|
317
|
+
- test/dummy/config/database.yml
|
318
|
+
- test/dummy/config/environment.rb
|
319
|
+
- test/dummy/config/environments/development.rb
|
320
|
+
- test/dummy/config/environments/production.rb
|
321
|
+
- test/dummy/config/environments/test.rb
|
322
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
323
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
324
|
+
- test/dummy/config/initializers/inflections.rb
|
325
|
+
- test/dummy/config/initializers/mime_types.rb
|
326
|
+
- test/dummy/config/initializers/secret_token.rb
|
327
|
+
- test/dummy/config/initializers/session_store.rb
|
328
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
329
|
+
- test/dummy/config/locales/en.yml
|
330
|
+
- test/dummy/config/routes.rb
|
331
|
+
- test/dummy/config.ru
|
332
|
+
- test/dummy/db/development.sqlite3
|
333
|
+
- test/dummy/db/migrate/20130820025256_add_users.rb
|
334
|
+
- test/dummy/db/schema.rb
|
335
|
+
- test/dummy/log/development.log
|
336
|
+
- test/dummy/log/test.log
|
337
|
+
- test/dummy/public/404.html
|
338
|
+
- test/dummy/public/422.html
|
339
|
+
- test/dummy/public/500.html
|
340
|
+
- test/dummy/public/favicon.ico
|
341
|
+
- test/dummy/Rakefile
|
342
|
+
- test/dummy/README.rdoc
|
343
|
+
- test/dummy/tmp/cache/assets/development/sprockets/1027254ad9f9317017cee3f9f844a862
|
344
|
+
- test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
|
345
|
+
- test/dummy/tmp/cache/assets/development/sprockets/21e0ff88cf13ca60a86a9b629cdca847
|
346
|
+
- test/dummy/tmp/cache/assets/development/sprockets/24cf35cebd10e0755a5585f9e486aa35
|
347
|
+
- test/dummy/tmp/cache/assets/development/sprockets/27413a86db5db5977d5dd1d87c724907
|
348
|
+
- test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
|
349
|
+
- test/dummy/tmp/cache/assets/development/sprockets/2f5c6d9c2c3107f94ad59710d3b31f75
|
350
|
+
- test/dummy/tmp/cache/assets/development/sprockets/3131541e8089635bc8595e2da83d1d81
|
351
|
+
- test/dummy/tmp/cache/assets/development/sprockets/32f1d616324cf52e9876bb83b9b0841a
|
352
|
+
- test/dummy/tmp/cache/assets/development/sprockets/33474263b3841cd98ef63cde45dc85b2
|
353
|
+
- test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
|
354
|
+
- test/dummy/tmp/cache/assets/development/sprockets/3fa0d13a4820d4aa56f86ed4af4b88fc
|
355
|
+
- test/dummy/tmp/cache/assets/development/sprockets/4e07f6f4475a0dca9066eec990db088a
|
356
|
+
- test/dummy/tmp/cache/assets/development/sprockets/5512d0b5788ce193fd26bfadccd21304
|
357
|
+
- test/dummy/tmp/cache/assets/development/sprockets/5d5ab91fa7d1eee7502e703747d4e933
|
358
|
+
- test/dummy/tmp/cache/assets/development/sprockets/6b7e97595c37161f619adfd2b7724ea2
|
359
|
+
- test/dummy/tmp/cache/assets/development/sprockets/87fa3cc4e2e49762d146f3d1709b3fb0
|
360
|
+
- test/dummy/tmp/cache/assets/development/sprockets/8806d06f37e08b22f9546e50ab98d671
|
361
|
+
- test/dummy/tmp/cache/assets/development/sprockets/8cdad172c92eaf76e1b71c84f58a192e
|
362
|
+
- test/dummy/tmp/cache/assets/development/sprockets/91e53bdf30a2b8e78bf99ca794addf70
|
363
|
+
- test/dummy/tmp/cache/assets/development/sprockets/96e2b2964d1d31d997a1af35ad0afed2
|
364
|
+
- test/dummy/tmp/cache/assets/development/sprockets/ab5c07d7e81fb5d5cf7460715f22bef6
|
365
|
+
- test/dummy/tmp/cache/assets/development/sprockets/b94837629e2fb2ef40ea66348764a9a2
|
366
|
+
- test/dummy/tmp/cache/assets/development/sprockets/c360bf7b66d29ebdf71b5814574b5fed
|
367
|
+
- test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
|
368
|
+
- test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
|
369
|
+
- test/dummy/tmp/cache/assets/development/sprockets/e046b0166566aeeb2da51f2bde543364
|
370
|
+
- test/dummy/tmp/cache/assets/development/sprockets/ec2d15616d5d09eb1693b761c72948ce
|
371
|
+
- test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
372
|
+
- test/dummy/tmp/cache/assets/development/sprockets/fc0327db3eb7c687c31f2acf94871f86
|
373
|
+
- test/dummy/tmp/cache/assets/test/sprockets/1027254ad9f9317017cee3f9f844a862
|
374
|
+
- test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
|
375
|
+
- test/dummy/tmp/cache/assets/test/sprockets/21e0ff88cf13ca60a86a9b629cdca847
|
376
|
+
- test/dummy/tmp/cache/assets/test/sprockets/24cf35cebd10e0755a5585f9e486aa35
|
377
|
+
- test/dummy/tmp/cache/assets/test/sprockets/27413a86db5db5977d5dd1d87c724907
|
378
|
+
- test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
|
379
|
+
- test/dummy/tmp/cache/assets/test/sprockets/32f1d616324cf52e9876bb83b9b0841a
|
380
|
+
- test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
|
381
|
+
- test/dummy/tmp/cache/assets/test/sprockets/3fa0d13a4820d4aa56f86ed4af4b88fc
|
382
|
+
- test/dummy/tmp/cache/assets/test/sprockets/5d5ab91fa7d1eee7502e703747d4e933
|
383
|
+
- test/dummy/tmp/cache/assets/test/sprockets/6b7e97595c37161f619adfd2b7724ea2
|
384
|
+
- test/dummy/tmp/cache/assets/test/sprockets/87fa3cc4e2e49762d146f3d1709b3fb0
|
385
|
+
- test/dummy/tmp/cache/assets/test/sprockets/8806d06f37e08b22f9546e50ab98d671
|
386
|
+
- test/dummy/tmp/cache/assets/test/sprockets/ab5c07d7e81fb5d5cf7460715f22bef6
|
387
|
+
- test/dummy/tmp/cache/assets/test/sprockets/b94837629e2fb2ef40ea66348764a9a2
|
388
|
+
- test/dummy/tmp/cache/assets/test/sprockets/c360bf7b66d29ebdf71b5814574b5fed
|
389
|
+
- test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
|
390
|
+
- test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
|
391
|
+
- test/dummy/tmp/cache/assets/test/sprockets/e046b0166566aeeb2da51f2bde543364
|
392
|
+
- test/dummy/tmp/cache/assets/test/sprockets/ec2d15616d5d09eb1693b761c72948ce
|
393
|
+
- test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
|
394
|
+
- test/dummy/tmp/cache/assets/test/sprockets/fc0327db3eb7c687c31f2acf94871f86
|
395
|
+
- test/fixtures/avatar.jpeg
|
396
|
+
- test/fixtures/test_upload.txt
|
397
|
+
- test/integration/multiple_upload_test.rb
|
398
|
+
- test/integration/single_upload_test.rb
|
399
|
+
- test/test_helper.rb
|
400
|
+
- test/unit/redis_file_readable_test.rb
|
401
|
+
- test/unit/redis_file_test.rb
|