jquery-rails-multipart-xhr 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +6 -0
- data/Gemfile +4 -0
- data/README.md +63 -0
- data/Rakefile +1 -0
- data/jquery-rails-multipart-xhr.gemspec +26 -0
- data/lib/generators/jquery/multipart_xhr/install/install_generator.rb +20 -0
- data/lib/jquery-rails-multipart-xhr.rb +2 -0
- data/lib/jquery/rails/multipart_xhr.rb +13 -0
- data/lib/jquery/rails/multipart_xhr/engine.rb +10 -0
- data/lib/jquery/rails/multipart_xhr/railtie.rb +18 -0
- data/lib/jquery/rails/multipart_xhr/version.rb +8 -0
- data/test/.rbenv-gemsets +1 -0
- data/test/index.html +61 -0
- data/test/libs/jasmine-html.js +616 -0
- data/test/libs/jasmine-jquery.js +322 -0
- data/test/libs/jasmine.css +81 -0
- data/test/libs/jasmine.js +2530 -0
- data/test/libs/jquery-1.7.2.js +9404 -0
- data/test/libs/rails.js +384 -0
- data/test/rails_ext_spec.js +34 -0
- data/test/sendfile.html +0 -0
- data/test/spec_helper.js +28 -0
- data/test/test_app/Gemfile +9 -0
- data/test/test_app/README.rdoc +261 -0
- data/test/test_app/Rakefile +7 -0
- data/test/test_app/app/assets/images/rails.png +0 -0
- data/test/test_app/app/assets/javascripts/application.js +3 -0
- data/test/test_app/app/assets/stylesheets/application.css +13 -0
- data/test/test_app/app/controllers/application_controller.rb +3 -0
- data/test/test_app/app/controllers/index_controller.rb +10 -0
- data/test/test_app/app/helpers/application_helper.rb +2 -0
- data/test/test_app/app/helpers/index_helper.rb +2 -0
- data/test/test_app/app/views/index/index.html.erb +5 -0
- data/test/test_app/app/views/index/upload.js.erb +0 -0
- data/test/test_app/app/views/layouts/application.html.erb +14 -0
- data/test/test_app/config.ru +4 -0
- data/test/test_app/config/application.rb +68 -0
- data/test/test_app/config/boot.rb +6 -0
- data/test/test_app/config/environment.rb +5 -0
- data/test/test_app/config/environments/development.rb +31 -0
- data/test/test_app/config/environments/production.rb +64 -0
- data/test/test_app/config/environments/test.rb +35 -0
- data/test/test_app/config/initializers/backtrace_silencers.rb +7 -0
- data/test/test_app/config/initializers/inflections.rb +15 -0
- data/test/test_app/config/initializers/mime_types.rb +5 -0
- data/test/test_app/config/initializers/secret_token.rb +7 -0
- data/test/test_app/config/initializers/session_store.rb +8 -0
- data/test/test_app/config/initializers/wrap_parameters.rb +10 -0
- data/test/test_app/config/locales/en.yml +5 -0
- data/test/test_app/config/routes.rb +4 -0
- data/test/test_app/db/seeds.rb +7 -0
- data/test/test_app/doc/README_FOR_APP +2 -0
- data/test/test_app/log/development.log +393 -0
- data/test/test_app/public/404.html +26 -0
- data/test/test_app/public/422.html +26 -0
- data/test/test_app/public/500.html +25 -0
- data/test/test_app/public/favicon.ico +0 -0
- data/test/test_app/public/robots.txt +5 -0
- data/test/test_app/script/rails +6 -0
- data/test/test_app/tmp/cache/assets/C8F/390/sprockets%2F6b7d5e919177af65c02182147de40988 +0 -0
- data/test/test_app/tmp/cache/assets/CD8/0A0/sprockets%2F5141580125473c05f47bff0c8bb8dd80 +0 -0
- data/test/test_app/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/test_app/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
- data/test/test_app/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/test_app/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/test_app/tmp/cache/assets/D53/0E0/sprockets%2F88f3d17e4cef7464b29ab1d468495af6 +0 -0
- data/test/test_app/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/test_app/tmp/cache/assets/D6D/6E0/sprockets%2Ff0871e805cb1dd84c3a8a024f925e7af +0 -0
- data/test/test_app/tmp/cache/assets/D94/5C0/sprockets%2Fbfc22af1dbf2c597a27bfa0388020f76 +0 -0
- data/test/test_app/tmp/cache/assets/DAC/540/sprockets%2Fee54428bf456feb108fa5ac58fe768b3 +0 -0
- data/test/test_app/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/test_app/tmp/cache/assets/DF1/800/sprockets%2Fb3fb6dd6651d2f1ecacf3c52b1f7e223 +0 -0
- data/test/test_app/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/test_app/tmp/cache/assets/E0A/940/sprockets%2Fff36bca4fabd6d0690d947ef06ff8d26 +0 -0
- data/test/test_app/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6 +0 -0
- data/test/xhr_spec.js +14 -0
- data/vendor/assets/javascripts/jquery_ujs_multipart_xhr.js +172 -0
- data/vendor/assets/javascripts/jquery_ujs_xhr.js +1 -0
- metadata +254 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/404.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
|
23
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
|
24
|
+
</div>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/422.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>The change you wanted was rejected.</h1>
|
|
23
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
|
24
|
+
</div>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
7
|
+
div.dialog {
|
|
8
|
+
width: 25em;
|
|
9
|
+
padding: 0 4em;
|
|
10
|
+
margin: 4em auto 0 auto;
|
|
11
|
+
border: 1px solid #ccc;
|
|
12
|
+
border-right-color: #999;
|
|
13
|
+
border-bottom-color: #999;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<!-- This file lives in public/500.html -->
|
|
21
|
+
<div class="dialog">
|
|
22
|
+
<h1>We're sorry, but something went wrong.</h1>
|
|
23
|
+
</div>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
|
3
|
+
|
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
|
6
|
+
require 'rails/commands'
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/test/xhr_spec.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
describe("XHR upload integration", function() {
|
|
2
|
+
|
|
3
|
+
var rails, form1, form2, submit1, submit2;
|
|
4
|
+
|
|
5
|
+
beforeEach(function(){
|
|
6
|
+
rails = $.rails;
|
|
7
|
+
form1 = $('#upload_form');
|
|
8
|
+
submit1 = $('input[type=submit]', form1);
|
|
9
|
+
submit2 = $('input[type=submit]', form2);
|
|
10
|
+
form2 = $('#upload_form2');
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
});
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XHR uploading for the Rails jQuery Adapter
|
|
3
|
+
*
|
|
4
|
+
* Tested with jQuery 1.6.0 or later.
|
|
5
|
+
* https://github.com/kurbmedia/jquery-rails-multipart-xhr
|
|
6
|
+
*
|
|
7
|
+
* Uploading file using rails.js
|
|
8
|
+
* =============================
|
|
9
|
+
*
|
|
10
|
+
* Rails' default jQuery-ujs provides means for handling AJAX requests in which a remote form contains file inputs
|
|
11
|
+
* with values. Adding this adapter expands on that functionality to add support for native XHR uploads when supported
|
|
12
|
+
* by the browser.
|
|
13
|
+
*
|
|
14
|
+
* This add-on binds to the `ajax:aborted:file` event and overrides rails.ajax to bundle File objects into the request
|
|
15
|
+
* to be sent to the server. In addition, it adds a progress event to jQuery's AJAX handler to track upload progress.
|
|
16
|
+
*
|
|
17
|
+
* Ex:
|
|
18
|
+
* $('form').live('progress', function( event, xhr ){
|
|
19
|
+
* event.loaded // the total bytes uploaded
|
|
20
|
+
* event.total // the total bytes to be sent. This is somewhat estimated but is reasonably accurate
|
|
21
|
+
* event.percent // a numeric percent of the current progress
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* The `progress` event is fired in intervals as the request is sent to the server.
|
|
25
|
+
*
|
|
26
|
+
* To help with tracking progress, the `ajax:upload:start` event is triggered right before the .ajax call is made
|
|
27
|
+
* and receives a single parameter (in addition to the event itself) with a number representing the total number of
|
|
28
|
+
* file bytes to be sent with the request.
|
|
29
|
+
*
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
**/
|
|
33
|
+
(function( $, undefined ){
|
|
34
|
+
|
|
35
|
+
var jxhr = $.ajaxSettings.xhr,
|
|
36
|
+
rails = $.rails;
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
$.extend(rails, {
|
|
40
|
+
|
|
41
|
+
// Enable / disable ajax file uploading.
|
|
42
|
+
enableXHRUpload: true,
|
|
43
|
+
|
|
44
|
+
// Check to see if the browser supports XHR uploading
|
|
45
|
+
XHRUploadSupport: function(){
|
|
46
|
+
var xhr;
|
|
47
|
+
if( typeof XMLHttpRequest == 'undefined' ) return false;
|
|
48
|
+
xhr = new XMLHttpRequest();
|
|
49
|
+
return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
// Check to see if the browser supports the file API
|
|
53
|
+
fileApiSupport: function(){
|
|
54
|
+
var input = document.createElement('INPUT');
|
|
55
|
+
input.type = 'file';
|
|
56
|
+
return 'files' in input;
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
//
|
|
60
|
+
// Builds a multipart form post using FormData instead of
|
|
61
|
+
// simply serializing the array.
|
|
62
|
+
//
|
|
63
|
+
buildMultipartPost: function( form ) {
|
|
64
|
+
var data = new FormData(),
|
|
65
|
+
post = $(form).serializeArray(),
|
|
66
|
+
totalSize = 0;
|
|
67
|
+
|
|
68
|
+
$.each( post,
|
|
69
|
+
function( ind, obj ){
|
|
70
|
+
data.append( obj.name, obj.value );
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
$(":file", form).each(
|
|
74
|
+
function(){
|
|
75
|
+
var field = $(this),
|
|
76
|
+
node = field.get(0);
|
|
77
|
+
|
|
78
|
+
if( node.files[0] ){
|
|
79
|
+
data.append( field.attr("name"), node.files[0] );
|
|
80
|
+
totalSize = totalSize + node.files[0].fileSize;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
return [data, totalSize];
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
//
|
|
89
|
+
// Actual upload handler
|
|
90
|
+
//
|
|
91
|
+
handleRemoteUpload: function( form, options ){
|
|
92
|
+
var data = rails.buildMultipartPost( form );
|
|
93
|
+
options.contentType = false;
|
|
94
|
+
options.processData = false;
|
|
95
|
+
options.data = data[0];
|
|
96
|
+
options.context = form;
|
|
97
|
+
rails.fire( form, 'ajax:upload:start', [ data[1] ] );
|
|
98
|
+
return $.ajax( options );
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
// Explicitly disable XHR uploading if the browser doesn't support it.
|
|
104
|
+
if( !rails.XHRUploadSupport() && !rails.fileApiSupport() ){
|
|
105
|
+
rails.enableXHRUpload = false;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Recieves a progress event and returns an object representing the progress of the upload.
|
|
109
|
+
function calculateProgress( event ){
|
|
110
|
+
return { loaded: event.loaded, total: event.total,
|
|
111
|
+
percent: parseInt( (event.loaded / event.total * 100), 10) };
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function progressHandler( event, req ){
|
|
115
|
+
var attrs;
|
|
116
|
+
if( event.lengthComputable ){
|
|
117
|
+
attrs = calculateProgress( event );
|
|
118
|
+
}else{
|
|
119
|
+
attrs = { loaded: null, total: null, percent: null };
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
$.event.trigger( $.Event('progress', attrs), [ req ] );
|
|
123
|
+
this.progress( $.Event('progress', attrs), req );
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
function handle_files( form ){
|
|
128
|
+
var oajax = rails.ajax;
|
|
129
|
+
|
|
130
|
+
if( rails.enableXHRUpload ){
|
|
131
|
+
rails.ajax = function( options ){
|
|
132
|
+
rails.handleRemoteUpload( $(form), options );
|
|
133
|
+
};
|
|
134
|
+
rails.handleRemote( form );
|
|
135
|
+
rails.ajax = oajax;
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
// Setup AJAX to support progress callbacks.
|
|
143
|
+
|
|
144
|
+
$.ajaxSetup({
|
|
145
|
+
progress: function(){},
|
|
146
|
+
xhr: function() {
|
|
147
|
+
var nReq = jxhr(), that = this;
|
|
148
|
+
if( nReq ){
|
|
149
|
+
if( typeof nReq.onprogress != 'undefined' ){
|
|
150
|
+
nReq.onprogress = function( event ){
|
|
151
|
+
progressHandler.apply(that, [event, nReq]);
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
if( typeof nReq.upload != 'undefined' ){
|
|
155
|
+
nReq.upload.onprogress = function( event ){
|
|
156
|
+
progressHandler.apply(that, [event, nReq]);
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return nReq;
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
$(document).delegate(rails.formSubmitSelector, 'ajax:aborted:file', function(event) {
|
|
167
|
+
if (this == event.target)
|
|
168
|
+
return handle_files($(this));
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
})( jQuery );
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//= require ./jquery_ujs_multipart_xhr
|
metadata
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: jquery-rails-multipart-xhr
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.2
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- Brent Kirby
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2012-06-08 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: railties
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - ~>
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '3.0'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - ~>
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '3.0'
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: thor
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - ~>
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0.14'
|
|
38
|
+
type: :runtime
|
|
39
|
+
prerelease: false
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ~>
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0.14'
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: bundler
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
50
|
+
requirements:
|
|
51
|
+
- - ~>
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: 1.0.0
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ~>
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 1.0.0
|
|
62
|
+
- !ruby/object:Gem::Dependency
|
|
63
|
+
name: rails
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
65
|
+
none: false
|
|
66
|
+
requirements:
|
|
67
|
+
- - ~>
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '3.0'
|
|
70
|
+
type: :development
|
|
71
|
+
prerelease: false
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ~>
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '3.0'
|
|
78
|
+
description: Rails' default jQuery-ujs provides means for handling AJAX requests in
|
|
79
|
+
which a remote form contains file inputs with values. Adding this adapter expands
|
|
80
|
+
on that functionality to add support for native XHR uploads when supported by the
|
|
81
|
+
browser.
|
|
82
|
+
email:
|
|
83
|
+
- brent@kurbmedia.com
|
|
84
|
+
executables: []
|
|
85
|
+
extensions: []
|
|
86
|
+
extra_rdoc_files: []
|
|
87
|
+
files:
|
|
88
|
+
- .gitignore
|
|
89
|
+
- Gemfile
|
|
90
|
+
- README.md
|
|
91
|
+
- Rakefile
|
|
92
|
+
- jquery-rails-multipart-xhr.gemspec
|
|
93
|
+
- lib/generators/jquery/multipart_xhr/install/install_generator.rb
|
|
94
|
+
- lib/jquery-rails-multipart-xhr.rb
|
|
95
|
+
- lib/jquery/rails/multipart_xhr.rb
|
|
96
|
+
- lib/jquery/rails/multipart_xhr/engine.rb
|
|
97
|
+
- lib/jquery/rails/multipart_xhr/railtie.rb
|
|
98
|
+
- lib/jquery/rails/multipart_xhr/version.rb
|
|
99
|
+
- test/.rbenv-gemsets
|
|
100
|
+
- test/index.html
|
|
101
|
+
- test/libs/jasmine-html.js
|
|
102
|
+
- test/libs/jasmine-jquery.js
|
|
103
|
+
- test/libs/jasmine.css
|
|
104
|
+
- test/libs/jasmine.js
|
|
105
|
+
- test/libs/jquery-1.7.2.js
|
|
106
|
+
- test/libs/rails.js
|
|
107
|
+
- test/rails_ext_spec.js
|
|
108
|
+
- test/sendfile.html
|
|
109
|
+
- test/spec_helper.js
|
|
110
|
+
- test/test_app/Gemfile
|
|
111
|
+
- test/test_app/README.rdoc
|
|
112
|
+
- test/test_app/Rakefile
|
|
113
|
+
- test/test_app/app/assets/images/rails.png
|
|
114
|
+
- test/test_app/app/assets/javascripts/application.js
|
|
115
|
+
- test/test_app/app/assets/stylesheets/application.css
|
|
116
|
+
- test/test_app/app/controllers/application_controller.rb
|
|
117
|
+
- test/test_app/app/controllers/index_controller.rb
|
|
118
|
+
- test/test_app/app/helpers/application_helper.rb
|
|
119
|
+
- test/test_app/app/helpers/index_helper.rb
|
|
120
|
+
- test/test_app/app/views/index/index.html.erb
|
|
121
|
+
- test/test_app/app/views/index/upload.js.erb
|
|
122
|
+
- test/test_app/app/views/layouts/application.html.erb
|
|
123
|
+
- test/test_app/config.ru
|
|
124
|
+
- test/test_app/config/application.rb
|
|
125
|
+
- test/test_app/config/boot.rb
|
|
126
|
+
- test/test_app/config/environment.rb
|
|
127
|
+
- test/test_app/config/environments/development.rb
|
|
128
|
+
- test/test_app/config/environments/production.rb
|
|
129
|
+
- test/test_app/config/environments/test.rb
|
|
130
|
+
- test/test_app/config/initializers/backtrace_silencers.rb
|
|
131
|
+
- test/test_app/config/initializers/inflections.rb
|
|
132
|
+
- test/test_app/config/initializers/mime_types.rb
|
|
133
|
+
- test/test_app/config/initializers/secret_token.rb
|
|
134
|
+
- test/test_app/config/initializers/session_store.rb
|
|
135
|
+
- test/test_app/config/initializers/wrap_parameters.rb
|
|
136
|
+
- test/test_app/config/locales/en.yml
|
|
137
|
+
- test/test_app/config/routes.rb
|
|
138
|
+
- test/test_app/db/seeds.rb
|
|
139
|
+
- test/test_app/doc/README_FOR_APP
|
|
140
|
+
- test/test_app/log/development.log
|
|
141
|
+
- test/test_app/public/404.html
|
|
142
|
+
- test/test_app/public/422.html
|
|
143
|
+
- test/test_app/public/500.html
|
|
144
|
+
- test/test_app/public/favicon.ico
|
|
145
|
+
- test/test_app/public/robots.txt
|
|
146
|
+
- test/test_app/script/rails
|
|
147
|
+
- test/test_app/tmp/cache/assets/C8F/390/sprockets%2F6b7d5e919177af65c02182147de40988
|
|
148
|
+
- test/test_app/tmp/cache/assets/CD8/0A0/sprockets%2F5141580125473c05f47bff0c8bb8dd80
|
|
149
|
+
- test/test_app/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
|
150
|
+
- test/test_app/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016
|
|
151
|
+
- test/test_app/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
|
152
|
+
- test/test_app/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
|
|
153
|
+
- test/test_app/tmp/cache/assets/D53/0E0/sprockets%2F88f3d17e4cef7464b29ab1d468495af6
|
|
154
|
+
- test/test_app/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
|
155
|
+
- test/test_app/tmp/cache/assets/D6D/6E0/sprockets%2Ff0871e805cb1dd84c3a8a024f925e7af
|
|
156
|
+
- test/test_app/tmp/cache/assets/D94/5C0/sprockets%2Fbfc22af1dbf2c597a27bfa0388020f76
|
|
157
|
+
- test/test_app/tmp/cache/assets/DAC/540/sprockets%2Fee54428bf456feb108fa5ac58fe768b3
|
|
158
|
+
- test/test_app/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
|
|
159
|
+
- test/test_app/tmp/cache/assets/DF1/800/sprockets%2Fb3fb6dd6651d2f1ecacf3c52b1f7e223
|
|
160
|
+
- test/test_app/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
|
161
|
+
- test/test_app/tmp/cache/assets/E0A/940/sprockets%2Fff36bca4fabd6d0690d947ef06ff8d26
|
|
162
|
+
- test/test_app/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6
|
|
163
|
+
- test/xhr_spec.js
|
|
164
|
+
- vendor/assets/javascripts/jquery_ujs_multipart_xhr.js
|
|
165
|
+
- vendor/assets/javascripts/jquery_ujs_xhr.js
|
|
166
|
+
homepage: https://github.com/kurbmedia/jquery-rails-multipart-xhr
|
|
167
|
+
licenses: []
|
|
168
|
+
post_install_message:
|
|
169
|
+
rdoc_options: []
|
|
170
|
+
require_paths:
|
|
171
|
+
- lib
|
|
172
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
173
|
+
none: false
|
|
174
|
+
requirements:
|
|
175
|
+
- - ! '>='
|
|
176
|
+
- !ruby/object:Gem::Version
|
|
177
|
+
version: '0'
|
|
178
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
|
+
none: false
|
|
180
|
+
requirements:
|
|
181
|
+
- - ! '>='
|
|
182
|
+
- !ruby/object:Gem::Version
|
|
183
|
+
version: 1.3.6
|
|
184
|
+
requirements: []
|
|
185
|
+
rubyforge_project: jquery-rails-multipart-xhr
|
|
186
|
+
rubygems_version: 1.8.23
|
|
187
|
+
signing_key:
|
|
188
|
+
specification_version: 3
|
|
189
|
+
summary: Adds additional support for XHR file uploads to jquery_ujs
|
|
190
|
+
test_files:
|
|
191
|
+
- test/index.html
|
|
192
|
+
- test/libs/jasmine-html.js
|
|
193
|
+
- test/libs/jasmine-jquery.js
|
|
194
|
+
- test/libs/jasmine.css
|
|
195
|
+
- test/libs/jasmine.js
|
|
196
|
+
- test/libs/jquery-1.7.2.js
|
|
197
|
+
- test/libs/rails.js
|
|
198
|
+
- test/rails_ext_spec.js
|
|
199
|
+
- test/sendfile.html
|
|
200
|
+
- test/spec_helper.js
|
|
201
|
+
- test/test_app/Gemfile
|
|
202
|
+
- test/test_app/README.rdoc
|
|
203
|
+
- test/test_app/Rakefile
|
|
204
|
+
- test/test_app/app/assets/images/rails.png
|
|
205
|
+
- test/test_app/app/assets/javascripts/application.js
|
|
206
|
+
- test/test_app/app/assets/stylesheets/application.css
|
|
207
|
+
- test/test_app/app/controllers/application_controller.rb
|
|
208
|
+
- test/test_app/app/controllers/index_controller.rb
|
|
209
|
+
- test/test_app/app/helpers/application_helper.rb
|
|
210
|
+
- test/test_app/app/helpers/index_helper.rb
|
|
211
|
+
- test/test_app/app/views/index/index.html.erb
|
|
212
|
+
- test/test_app/app/views/index/upload.js.erb
|
|
213
|
+
- test/test_app/app/views/layouts/application.html.erb
|
|
214
|
+
- test/test_app/config.ru
|
|
215
|
+
- test/test_app/config/application.rb
|
|
216
|
+
- test/test_app/config/boot.rb
|
|
217
|
+
- test/test_app/config/environment.rb
|
|
218
|
+
- test/test_app/config/environments/development.rb
|
|
219
|
+
- test/test_app/config/environments/production.rb
|
|
220
|
+
- test/test_app/config/environments/test.rb
|
|
221
|
+
- test/test_app/config/initializers/backtrace_silencers.rb
|
|
222
|
+
- test/test_app/config/initializers/inflections.rb
|
|
223
|
+
- test/test_app/config/initializers/mime_types.rb
|
|
224
|
+
- test/test_app/config/initializers/secret_token.rb
|
|
225
|
+
- test/test_app/config/initializers/session_store.rb
|
|
226
|
+
- test/test_app/config/initializers/wrap_parameters.rb
|
|
227
|
+
- test/test_app/config/locales/en.yml
|
|
228
|
+
- test/test_app/config/routes.rb
|
|
229
|
+
- test/test_app/db/seeds.rb
|
|
230
|
+
- test/test_app/doc/README_FOR_APP
|
|
231
|
+
- test/test_app/log/development.log
|
|
232
|
+
- test/test_app/public/404.html
|
|
233
|
+
- test/test_app/public/422.html
|
|
234
|
+
- test/test_app/public/500.html
|
|
235
|
+
- test/test_app/public/favicon.ico
|
|
236
|
+
- test/test_app/public/robots.txt
|
|
237
|
+
- test/test_app/script/rails
|
|
238
|
+
- test/test_app/tmp/cache/assets/C8F/390/sprockets%2F6b7d5e919177af65c02182147de40988
|
|
239
|
+
- test/test_app/tmp/cache/assets/CD8/0A0/sprockets%2F5141580125473c05f47bff0c8bb8dd80
|
|
240
|
+
- test/test_app/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
|
|
241
|
+
- test/test_app/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016
|
|
242
|
+
- test/test_app/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
|
|
243
|
+
- test/test_app/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
|
|
244
|
+
- test/test_app/tmp/cache/assets/D53/0E0/sprockets%2F88f3d17e4cef7464b29ab1d468495af6
|
|
245
|
+
- test/test_app/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
|
|
246
|
+
- test/test_app/tmp/cache/assets/D6D/6E0/sprockets%2Ff0871e805cb1dd84c3a8a024f925e7af
|
|
247
|
+
- test/test_app/tmp/cache/assets/D94/5C0/sprockets%2Fbfc22af1dbf2c597a27bfa0388020f76
|
|
248
|
+
- test/test_app/tmp/cache/assets/DAC/540/sprockets%2Fee54428bf456feb108fa5ac58fe768b3
|
|
249
|
+
- test/test_app/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
|
|
250
|
+
- test/test_app/tmp/cache/assets/DF1/800/sprockets%2Fb3fb6dd6651d2f1ecacf3c52b1f7e223
|
|
251
|
+
- test/test_app/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
|
|
252
|
+
- test/test_app/tmp/cache/assets/E0A/940/sprockets%2Fff36bca4fabd6d0690d947ef06ff8d26
|
|
253
|
+
- test/test_app/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6
|
|
254
|
+
- test/xhr_spec.js
|