tb_media 1.0.6 → 1.0.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7fbe6cf7d2b36b60603ad2a3a5d99aba8c9aaba1
4
- data.tar.gz: a935cadae7ae9a15b471cc150a70ba334519a48d
3
+ metadata.gz: e003b647c6daf3a4154d9f4be103bbd7c0967c4b
4
+ data.tar.gz: 0ca6e7cec76779943f3d0285c634fc4b7e0e5871
5
5
  SHA512:
6
- metadata.gz: 98ef3de0fbe5db1c3abbfddefe5e9a85f5dda2babb09b0e475b120d35bef5cb256d9ed880e8c8efdf1d58bcc17af758a5923aef606dfd8bc1603d3fbd147c19b
7
- data.tar.gz: 75aa870cc470dc4ef8d1bbb64ccb140402977a20378e749719be411dad6c59832cc13905d9bacc4d12e34afa514645f3b8f5bdd37fd70c62f897393bb6db40f1
6
+ metadata.gz: 6131013a9382913db5263624078d7b242371fb2d5d4ebe6392401f07fff197099aca03597facf7e387bc90ef66e80d00ef74a5879de258ffc0c4bc6a118370b7
7
+ data.tar.gz: 2fd6a6e22a8de93cd57a555e6526d243657d8230a6a3a06503d5538b1998e01106a5d756865816c5c8473735f96dab31b3ab2b3b5e645b45b582f51063a87068
data/Readme.markdown CHANGED
@@ -30,6 +30,7 @@ TB Media accepts the following configuration options:
30
30
  config.storage_path = "public/system/spud_media/:id/:style/:basename.:extension"
31
31
  config.storage_path_protected = "public/system/spud_media_protected/:id/:style/:basename.:extension"
32
32
  config.storage_url = "/system/spud_media/:id/:style/:basename.:extension"
33
+ config.max_upload_size = 15.megabytes
33
34
  end
34
35
 
35
36
  ## File Protection
@@ -136,16 +136,29 @@ spud.admin.mediapicker = new function(){
136
136
 
137
137
  this.onFileUploadProgress = function(e){
138
138
  var percent = Math.round(e.loaded * 100 / e.total);
139
+ self.setProgressBarPrecent(percent);
140
+ };
141
+
142
+ this.onFileUploadComplete = function(e){
143
+ if(e.target.status == 200){
144
+ var html = e.target.response;
145
+ self.onLegacyUploadComplete(html);
146
+ }
147
+ else{
148
+ window.alert('Error: ' + e.target.responseText);
149
+ self.setProgressBarPrecent(0);
150
+ }
151
+ };
152
+
153
+ this.setProgressBarPrecent = function(percent){
139
154
  var progress = $('.spud_media_picker_upload_progress');
140
155
  progress.find('.bar').css({width: percent + '%'});
141
156
  if(percent == 100){
142
157
  progress.addClass('progress-success');
143
158
  }
144
- };
145
-
146
- this.onFileUploadComplete = function(e){
147
- var html = e.target.response;
148
- self.onLegacyUploadComplete(html);
159
+ else{
160
+ progress.removeClass('progress-success');
161
+ }
149
162
  };
150
163
 
151
164
  this.onFileUploadError = function(e){
@@ -166,11 +179,9 @@ spud.admin.mediapicker = new function(){
166
179
  };
167
180
 
168
181
  this.resetUploadForm = function(){
169
- // reset twitter bootstrap "loading" button state
170
- $('.spud_media_picker_tab_upload_submit').button('reset');
171
182
  $('#spud_media_attachment').val('');
172
183
  $('.spud_media_picker_upload_progress').hide();
173
- $('.spud_media_picker_upload_progress .bar').css({width:0});
184
+ self.setProgressBarPrecent(0);
174
185
  };
175
186
 
176
187
  this.activatedAdvancedTab = function(){
@@ -29,7 +29,7 @@ class Admin::MediaPickerController < Admin::ApplicationController
29
29
  end
30
30
  end
31
31
  else
32
- render nil, :status => 422
32
+ render :text => @media.errors.full_messages.first, :status => 422
33
33
  end
34
34
  end
35
35
 
@@ -14,9 +14,16 @@ class SpudMedia < ActiveRecord::Base
14
14
 
15
15
  validates_numericality_of :crop_x, :crop_y, :crop_w, :crop_h, :crop_s, :allow_nil => true
16
16
 
17
+ extend ActionView::Helpers::NumberHelper
18
+
17
19
  validates_attachment :attachment,
18
20
  :presence => true,
19
- :content_type => {:content_type => Spud::Media::CONTENT_TYPES}
21
+ :content_type => {:content_type => Spud::Media::CONTENT_TYPES},
22
+ :size => {
23
+ :less_than => Spud::Media.max_upload_size,
24
+ :message => "size cannot exceed " + number_to_human_size(Spud::Media.max_upload_size),
25
+ :if => Proc.new{|p| Spud::Media.max_upload_size > 0}
26
+ }
20
27
 
21
28
  before_create :rename_file
22
29
  #after_create :validate_permissions
@@ -93,7 +100,9 @@ class SpudMedia < ActiveRecord::Base
93
100
  if is_image? #|| is_pdf?
94
101
  styles[:small] = '50'
95
102
  if has_custom_crop?
96
- styles[:cropped] = {:geometry => '', :convert_options => "-resize #{crop_s}% -crop #{crop_w}x#{crop_h}+#{crop_x}+#{crop_y}"}
103
+ styles[:cropped] = {:geometry => '', :convert_options => "-strip -resize #{crop_s}% -crop #{crop_w}x#{crop_h}+#{crop_x}+#{crop_y}"}
104
+ else
105
+ styles[:cropped] = {:geometry => '1280x1280>', :format => :jpg, :convert_options => '-strip -quality 85', :source_file_options => '-density 72'}
97
106
  end
98
107
  end
99
108
  return styles
@@ -105,7 +114,7 @@ class SpudMedia < ActiveRecord::Base
105
114
  def attachment_url(style=nil)
106
115
  # defaults to cropped style if that style exists, otherwise use original
107
116
  if !style
108
- style = (is_image? && has_custom_crop?) ? 'cropped' : 'original'
117
+ style = (is_image?) ? 'cropped' : 'original'
109
118
  end
110
119
  if Spud::Media.paperclip_storage == :s3 && is_protected
111
120
  return Paperclip::Interpolations.interpolate(Spud::Media.config.storage_url, attachment, style)
@@ -1,7 +1,7 @@
1
1
  <%= content_tag :div, :class => 'spud_media_picker_item',
2
2
  'data-id' => media.id,
3
3
  'data-type' => (media.is_image? ? 'img' : 'file'),
4
- 'data-url' => media.attachment.url,
4
+ 'data-url' => media.attachment_url,
5
5
  'data-name' => media.attachment_file_name,
6
6
  'data-size' => media.attachment_file_size,
7
7
  'data-lastmod' => media.attachment_updated_at.blank? == false ? media.attachment_updated_at.strftime("%l:%M %p, %D") : '',
@@ -1,11 +1,13 @@
1
1
  module Spud
2
2
  module Media
3
3
  include ActiveSupport::Configurable
4
- config_accessor :paperclip_storage,:s3_credentials,:storage_path,:storage_path_protected,:storage_url
4
+ require 'active_support/core_ext/numeric/bytes'
5
+ config_accessor :paperclip_storage, :s3_credentials, :storage_path, :storage_path_protected, :storage_url, :max_upload_size
5
6
  self.paperclip_storage = :filesystem
6
7
  self.s3_credentials = "#{Rails.root}/config/s3.yml"
7
8
  self.storage_path = ":rails_root/public/system/spud_media/:id/:style/:basename.:extension"
8
9
  self.storage_path_protected = ":rails_root/public/system/spud_media_protected/:id/:style/:basename.:extension"
9
10
  self.storage_url = "/system/spud_media/:id/:style/:basename.:extension"
11
+ self.max_upload_size = 15.megabytes
10
12
  end
11
13
  end
@@ -1,5 +1,5 @@
1
1
  module Spud
2
2
  module Media
3
- VERSION = "1.0.6"
3
+ VERSION = "1.0.8"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tb_media
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Westlake Design
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-20 00:00:00.000000000 Z
11
+ date: 2014-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.5
33
+ version: 1.2.7
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2.5
40
+ version: 1.2.7
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: paperclip
43
43
  requirement: !ruby/object:Gem::Requirement