gemini_upload-rails 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8c832fe16515c8414c6559aa8e6dbc196d4663418de3c55ace31b3417ed9692a
4
+ data.tar.gz: 3408a2b547483893b170b681ee50df86b2f9c2f2877047ef53ba516d6cc912a0
5
+ SHA512:
6
+ metadata.gz: 958c6be6fc40dfbadbd2f3ccc8206a5b24b255fc890d011b729b7297a6af5ed6008cfaa808ba3e25e37de52859b78b62349a46db07a5b7924cc46474f6df546b
7
+ data.tar.gz: ff1eeac3d8f7b4d34b1d7ce645fc2d9b30897ccdb5bb0c443ac70b7cac7a294fb294d8934d5cfd8c36f89585ea1543f409a86cc031a911dc71eba0e76fa4e03b
@@ -1,5 +1,5 @@
1
1
  module GeminiUpload
2
2
  module Rails
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -27,7 +27,8 @@ $.fn.extend({
27
27
  return btoa(unescape(encodeURIComponent([key, secret].join(':'))));
28
28
  },
29
29
  uid: function() {
30
- return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
30
+ var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
31
+ return Array(16).join().split(',').map(function() { return chars.charAt(Math.floor(Math.random() * chars.length)); }).join('');
31
32
  },
32
33
  seedForm: function(data, options) {
33
34
  var $form, acl, base64Policy, bucket, key, s3Key, signature, successAction, uploadBucket;
@@ -37,7 +38,7 @@ $.fn.extend({
37
38
  successAction = data.policy_document.conditions[3].success_action_status;
38
39
  base64Policy = data.policy_encoded;
39
40
  signature = data.signature;
40
- s3Key = options.s3Key;
41
+ s3Key = data.credentials;
41
42
  uploadBucket = bucket;
42
43
  $form = this.find('form');
43
44
  $form.find('input[name=key]').val(key);
@@ -52,9 +53,7 @@ $.fn.extend({
52
53
  return $form.get(0).setAttribute('action', "https://" + uploadBucket + ".s3.amazonaws.com");
53
54
  },
54
55
  makeGeminiApiCall: function(data, originalKey, bucket, options, metadata) {
55
- var key, fileName;
56
- fileName = data.files[0].name;
57
- key = originalKey.replace('${filename}', fileName);
56
+ var key = originalKey.replace('${filename}', data.uid);
58
57
  return $.ajax({
59
58
  type: 'POST',
60
59
  dataType: 'json',
@@ -80,13 +79,18 @@ $.fn.extend({
80
79
  },
81
80
  attachFileUploadUI: function(data, options) {
82
81
  var $form, bucket, key, metadata, originalKey;
82
+
83
83
  $form = this.find('form');
84
+ _.defaults(options, {pasteZone: undefined, dropZone: $form});
84
85
  bucket = data.policy_document.conditions[0].bucket;
85
86
  originalKey = "" + data.policy_document.conditions[1][2] + "/${filename}";
86
87
  this.seedForm(data, options);
88
+
87
89
  return $form.fileupload({
88
90
  type: 'POST',
89
91
  dataType: 'xml',
92
+ pasteZone: options.pasteZone,
93
+ dropZone: options.dropZone,
90
94
  done: (function(_this) {
91
95
  return function(e, data) {
92
96
  var fileName;
@@ -103,13 +107,17 @@ $.fn.extend({
103
107
  })(this),
104
108
  add: (function(_this) {
105
109
  return function(e, data) {
110
+ var fileName, fileType, uid, $key;
111
+ uid = _this.uid();
112
+ _.extend(data, { uid: uid });
106
113
  if (typeof options.onIndividualFile != 'undefined' && options.onIndividualFile != null) {
107
- options.onIndividualFile(e, _.extend(data, { uid: _this.uid() }));
114
+ options.onIndividualFile(e, data);
108
115
  }
109
- var fileName, fileType;
110
116
  fileName = data.files[0].name;
111
117
  fileType = data.files[0].type;
112
118
  $(_this).find("form input[name='Content-Type']").val(fileType);
119
+ $key = $form.find('input[name=key]');
120
+ $key.val($key.val().replace(/[^\/]+$/, uid));
113
121
  return data.submit();
114
122
  };
115
123
  })(this),
metadata CHANGED
@@ -1,62 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemini_upload-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Matthew Zikherman
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-10-28 00:00:00.000000000 Z
11
+ date: 2019-04-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.3'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.3'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: railties
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '4.0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '4.0'
62
55
  description: Packages up gemini upload widget
@@ -66,35 +59,33 @@ executables: []
66
59
  extensions: []
67
60
  extra_rdoc_files: []
68
61
  files:
69
- - lib/gemini_upload/rails/version.rb
70
- - lib/gemini_upload/rails.rb
71
- - vendor/assets/javascripts/gemini/gemini_upload.js
72
62
  - LICENSE.txt
73
63
  - README.md
64
+ - lib/gemini_upload/rails.rb
65
+ - lib/gemini_upload/rails/version.rb
66
+ - vendor/assets/javascripts/gemini/gemini_upload.js
74
67
  homepage: ''
75
68
  licenses:
76
69
  - MIT
70
+ metadata: {}
77
71
  post_install_message:
78
72
  rdoc_options: []
79
73
  require_paths:
80
74
  - lib
81
75
  required_ruby_version: !ruby/object:Gem::Requirement
82
- none: false
83
76
  requirements:
84
- - - ! '>='
77
+ - - ">="
85
78
  - !ruby/object:Gem::Version
86
79
  version: '0'
87
80
  required_rubygems_version: !ruby/object:Gem::Requirement
88
- none: false
89
81
  requirements:
90
- - - ! '>='
82
+ - - ">="
91
83
  - !ruby/object:Gem::Version
92
84
  version: '0'
93
85
  requirements: []
94
86
  rubyforge_project:
95
- rubygems_version: 1.8.25
87
+ rubygems_version: 2.7.6
96
88
  signing_key:
97
- specification_version: 3
89
+ specification_version: 4
98
90
  summary: Gemini upload widget for Rails
99
91
  test_files: []
100
- has_rdoc: