applicious_utils 0.1.47 → 0.1.48
Sign up to get free protection for your applications and to get access to all the features.
@@ -1,26 +1,10 @@
|
|
1
1
|
module AppliciousUtils
|
2
2
|
module ViewHelpers
|
3
3
|
|
4
|
-
#
|
5
|
-
|
6
|
-
# required parameters:
|
7
|
-
###
|
8
|
-
# key s3 'path' to uploaded files
|
9
|
-
#
|
10
|
-
###
|
11
|
-
# optional parameters:
|
12
|
-
###
|
13
|
-
# s3_config_filename filename of s3 config yaml file (full path), defaults to "#{RAILS_ROOT}/config/amazon_s3.yml"
|
14
|
-
#
|
15
|
-
# content_type binary/octet-stream
|
16
|
-
#
|
17
|
-
# acl public-read
|
18
|
-
#
|
19
|
-
# expiration_date 10.hours.from_now.utc.iso8601
|
20
|
-
#
|
21
|
-
# max_filesize 2.megabytes
|
4
|
+
# Creates an instance of a plupload S3 file uploader
|
5
|
+
# Derived from https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload
|
22
6
|
|
23
|
-
def
|
7
|
+
def applicious_uploader(options = {})
|
24
8
|
options[:s3_config_filename] ||= Rails.root.join('config', 'amazon_s3.yml')
|
25
9
|
config = YAML.load_file(options[:s3_config_filename])[Rails.env].symbolize_keys
|
26
10
|
bucket = config[:bucket_name]
|
@@ -34,7 +18,9 @@ module AppliciousUtils
|
|
34
18
|
options[:content_type] ||= 'image/' # Videos would be binary/octet-stream
|
35
19
|
options[:filter_title] ||= 'Images'
|
36
20
|
options[:filter_extentions] ||= 'jpg,jpeg,gif,png,bmp'
|
37
|
-
|
21
|
+
|
22
|
+
filename_token = "#{SecureRandom.hex(10)}_#{Time.now.to_i}"
|
23
|
+
|
38
24
|
id = options[:id] ? "_#{options[:id]}" : ''
|
39
25
|
|
40
26
|
policy = Base64.encode64(
|
@@ -77,8 +63,8 @@ module AppliciousUtils
|
|
77
63
|
multi_selection: false,
|
78
64
|
multipart: true,
|
79
65
|
multipart_params: {
|
80
|
-
'key': 'uploads/#{
|
81
|
-
'Filename': 'uploads/#{
|
66
|
+
'key': 'uploads/#{filename_token}_${filename}',
|
67
|
+
'Filename': 'uploads/#{filename_token}_${filename}', // adding this to keep consistency across the runtimes
|
82
68
|
'acl': '#{options[:acl]}',
|
83
69
|
'Content-Type': '#{options[:content_type]}',
|
84
70
|
'success_action_status': '201',
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'rails/generators'
|
2
2
|
|
3
|
-
class
|
3
|
+
class AppliciousUploaderGenerator < Rails::Generators::Base
|
4
4
|
def self.source_root
|
5
5
|
@source_root ||= File.join(File.dirname(__FILE__), 'templates')
|
6
6
|
end
|
@@ -12,7 +12,5 @@ class UploaderGenerator < Rails::Generators::Base
|
|
12
12
|
copy_file "applicious_uploader.js.coffee", "app/assets/javascripts/applicious_uploader.js.coffee"
|
13
13
|
copy_file "crossdomain.xml", "public/applicious/UPLOAD_TO_S3/crossdomain.xml"
|
14
14
|
copy_file "clientaccesspolicy.xml", "public/applicious/UPLOAD_TO_S3/clientaccesspolicy.xml"
|
15
|
-
|
16
|
-
#template "session_store.rb", "app/config/initializers/session_store.rb"
|
17
15
|
end
|
18
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: applicious_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.48
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -80,12 +80,11 @@ files:
|
|
80
80
|
- lib/applicious_utils/version.rb
|
81
81
|
- lib/applicious_utils/view_helpers.rb
|
82
82
|
- lib/applicious_utils.rb
|
83
|
+
- lib/generators/applicious_uploader_generator.rb
|
83
84
|
- lib/generators/templates/amazon_s3.yml
|
84
85
|
- lib/generators/templates/applicious_uploader.js.coffee
|
85
86
|
- lib/generators/templates/clientaccesspolicy.xml
|
86
87
|
- lib/generators/templates/crossdomain.xml
|
87
|
-
- lib/generators/templates/session_store.rb
|
88
|
-
- lib/generators/uploader_generator.rb
|
89
88
|
- Rakefile
|
90
89
|
homepage: http://appliciousagency.com
|
91
90
|
licenses: []
|
@@ -1,69 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
<script type="text/javascript">
|
3
|
-
<% session_key_name = Rails.application.config.session_options[:key] %>
|
4
|
-
|
5
|
-
// Default options
|
6
|
-
$(function() {
|
7
|
-
var uploader = new plupload.Uploader({
|
8
|
-
runtimes: 'html5,flash',
|
9
|
-
//url: '<%= photos_path %>',
|
10
|
-
//container : 'container',
|
11
|
-
browse_button : 'applicious_uploader',
|
12
|
-
max_file_size : '10mb',
|
13
|
-
flash_swf_url : '<%= asset_path("plupload.flash.swf") %>',
|
14
|
-
|
15
|
-
multipart: true,
|
16
|
-
multipart_params: {
|
17
|
-
'_http_accept': 'application/javascript',
|
18
|
-
'authenticity_token' : '<%= form_authenticity_token %>',
|
19
|
-
'<%= session_key_name %>' : encodeURIComponent('<%= u cookies[session_key_name] %>')
|
20
|
-
},
|
21
|
-
|
22
|
-
filters : [
|
23
|
-
//{title : "Zip files", extensions : "zip"},
|
24
|
-
{title : "Image files", extensions : "jpeg,jpg,gif,png"},
|
25
|
-
],
|
26
|
-
|
27
|
-
//resize : {width : 320, height : 240, quality : 90},
|
28
|
-
|
29
|
-
filters : [
|
30
|
-
{title : "Image files", extensions : "jpg,gif,png"},
|
31
|
-
{title : "Zip files", extensions : "zip"}
|
32
|
-
],
|
33
|
-
});
|
34
|
-
|
35
|
-
uploader.bind('FilesAdded', function(up, files) {
|
36
|
-
$.each(files, function(i, file) {
|
37
|
-
$('#filelist').append(
|
38
|
-
'<div id="' + file.id + '">' +
|
39
|
-
file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' +
|
40
|
-
'</div>');
|
41
|
-
});
|
42
|
-
|
43
|
-
up.refresh(); // Reposition Flash/Silverlight
|
44
|
-
});
|
45
|
-
|
46
|
-
|
47
|
-
uploader.bind('UploadProgress', function(up, file) {
|
48
|
-
AP.log( up, file );
|
49
|
-
});
|
50
|
-
|
51
|
-
uploader.bind('Error', function(up, err) {
|
52
|
-
AP.log( up, err );
|
53
|
-
up.refresh(); // Reposition Flash/Silverlight
|
54
|
-
});
|
55
|
-
|
56
|
-
uploader.bind('FileUploaded', function(up, file) {
|
57
|
-
AP.log( up, file );
|
58
|
-
});
|
59
|
-
|
60
|
-
uploader.init();
|
61
|
-
|
62
|
-
$('#uploadfiles').click(function(e) {
|
63
|
-
uploader.start();
|
64
|
-
e.preventDefault();
|
65
|
-
});
|
66
|
-
|
67
|
-
});
|
68
|
-
</script>
|
69
|
-
=end
|