tb_media 1.2.1 → 1.3.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.
Files changed (65) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +2 -2
  3. data/Readme.markdown +3 -19
  4. data/app/assets/javascripts/admin/media/application.js +2 -2
  5. data/app/assets/javascripts/admin/media/picker.js +8 -5
  6. data/app/assets/javascripts/admin/media/plugin.js.erb +86 -81
  7. data/app/assets/stylesheets/admin/media/application.css.scss +1 -12
  8. data/app/controllers/admin/media_controller.rb +54 -61
  9. data/app/controllers/admin/media_picker_controller.rb +8 -16
  10. data/app/models/spud_media.rb +63 -110
  11. data/app/views/admin/media/index.html.erb +4 -12
  12. data/app/views/admin/media/new.html.erb +0 -1
  13. data/app/views/admin/media_picker/_media.html.erb +2 -7
  14. data/app/views/admin/media_picker/index.html.erb +1 -2
  15. data/config/locales/en.yml +0 -1
  16. data/config/routes.rb +5 -8
  17. data/db/migrate/20120101194256_create_spud_media.rb +2 -2
  18. data/db/migrate/20120501203325_add_protected_to_spud_media.rb +1 -2
  19. data/db/migrate/20120508132153_add_cropping_to_spud_media.rb +1 -1
  20. data/lib/spud_media/configuration.rb +3 -4
  21. data/lib/spud_media/content_types.rb +2 -2
  22. data/lib/spud_media/engine.rb +21 -13
  23. data/lib/spud_media/version.rb +3 -3
  24. data/lib/tasks/spud_media_tasks.rake +4 -6
  25. data/spec/controllers/admin/media_controller_spec.rb +23 -24
  26. data/spec/dummy/config.ru +1 -1
  27. data/spec/dummy/config/application.rb +2 -3
  28. data/spec/dummy/config/boot.rb +1 -1
  29. data/spec/dummy/config/environments/development.rb +0 -7
  30. data/spec/dummy/config/environments/test.rb +3 -5
  31. data/spec/dummy/config/routes.rb +2 -2
  32. data/spec/dummy/db/migrate/20130904141442_create_spud_users.tb_core.rb +12 -12
  33. data/spec/dummy/db/migrate/20130904141443_add_time_zone_to_spud_user.tb_core.rb +0 -1
  34. data/spec/dummy/db/migrate/20130904141444_add_scope_to_spud_admin_permissions.tb_core.rb +0 -1
  35. data/spec/dummy/db/migrate/20130904141446_create_spud_media.tb_media.rb +1 -1
  36. data/spec/dummy/db/migrate/20130904141447_add_protected_to_spud_media.tb_media.rb +1 -1
  37. data/spec/dummy/db/migrate/20130904141448_add_cropping_to_spud_media.tb_media.rb +3 -3
  38. data/spec/dummy/db/migrate/20151012194531_create_spud_permissions.tb_core.rb +3 -3
  39. data/spec/dummy/db/migrate/20151012194532_create_spud_role_permissions.tb_core.rb +2 -2
  40. data/spec/dummy/db/migrate/20151012194534_add_requires_password_change_to_spud_users.tb_core.rb +1 -1
  41. data/spec/dummy/db/schema.rb +63 -67
  42. data/spec/dummy/public/system/spud_media/1/cropped/test_img1.png +0 -0
  43. data/spec/dummy/public/system/spud_media/1/small/test_img1.png +0 -0
  44. data/spec/dummy/public/system/spud_media/2/cropped/test_img1.png +0 -0
  45. data/spec/dummy/public/system/spud_media/2/small/test_img1.png +0 -0
  46. data/spec/dummy/public/system/spud_media/3/cropped/test_img1.png +0 -0
  47. data/spec/dummy/public/system/spud_media/3/small/test_img1.png +0 -0
  48. data/spec/dummy/public/system/spud_media/4/cropped/test_img1.png +0 -0
  49. data/spec/dummy/public/system/spud_media/4/small/test_img1.png +0 -0
  50. data/spec/dummy/public/system/spud_media/5/cropped/test_img1.png +0 -0
  51. data/spec/dummy/public/system/spud_media/5/small/test_img1.png +0 -0
  52. data/spec/dummy/script/rails +2 -2
  53. data/spec/javascripts/support/jasmine_helper.rb +6 -7
  54. data/spec/models/spud_media_spec.rb +2 -2
  55. data/spec/rails_helper.rb +14 -7
  56. data/spec/spec_helper.rb +42 -44
  57. metadata +103 -104
  58. data/app/controllers/protected_media_controller.rb +0 -24
  59. data/app/helpers/protected_media_helper.rb +0 -3
  60. data/spec/dummy/public/system/spud_media/1/cropped/test_img1.jpg +0 -0
  61. data/spec/dummy/public/system/spud_media/2/cropped/test_img1.jpg +0 -0
  62. data/spec/dummy/public/system/spud_media/3/cropped/test_img1.jpg +0 -0
  63. data/spec/dummy/public/system/spud_media/4/cropped/test_img1.jpg +0 -0
  64. data/spec/dummy/public/system/spud_media/5/cropped/test_img1.jpg +0 -0
  65. data/spec/support/authlogic_helper.rb +0 -2
@@ -1,42 +1,34 @@
1
1
  class Admin::MediaPickerController < Admin::ApplicationController
2
2
 
3
- include RespondsToParent
4
-
5
3
  layout false
6
4
  respond_to :html
7
5
 
8
6
  def index
9
- @media = SpudMedia.order('attachment_file_name asc').paginate(:page => params[:page], :per_page => 30)
7
+ @media = SpudMedia.order('attachment_file_name asc').paginate(page: params[:page], per_page: 30)
10
8
  respond_with @media do |format|
11
- format.html{
9
+ format.html do
12
10
  if params[:only_list]
13
- render :partial => 'media', :collection => @media
11
+ render partial: 'media', collection: @media
14
12
  else
15
13
  render 'index'
16
14
  end
17
- }
15
+ end
18
16
  end
19
17
  end
20
18
 
21
19
  def create
22
20
  @media = SpudMedia.new(media_params)
23
21
  if @media.save
24
- if request.xhr?
25
- render 'create', :status => 200
26
- else
27
- respond_to_parent do
28
- render 'create.js', :status => 200
29
- end
30
- end
22
+ render 'create', status: :ok
31
23
  else
32
- render :text => @media.errors.full_messages.first, :status => 422
24
+ render text: @media.errors.full_messages.first, status: :unprocessable_entity
33
25
  end
34
26
  end
35
27
 
36
- private
28
+ private
37
29
 
38
30
  def media_params
39
- params.require(:spud_media).permit(:attachment_content_type,:attachment_file_name,:attachment_file_size,:attachment, :is_protected, :crop_x, :crop_y, :crop_w, :crop_h, :crop_s)
31
+ params.require(:spud_media).permit(:attachment_content_type, :attachment_file_name, :attachment_file_size, :attachment, :crop_x, :crop_y, :crop_w, :crop_h, :crop_s)
40
32
  end
41
33
 
42
34
  end
@@ -1,82 +1,75 @@
1
1
  class SpudMedia < ActiveRecord::Base
2
2
 
3
- has_attached_file :attachment,
4
- :storage => Spud::Media.paperclip_storage,
5
- :s3_credentials => Spud::Media.s3_credentials,
6
- :s3_permissions => lambda { |attachment, style|
7
- attachment.instance.is_protected ? 'private' : 'public-read'
8
- },
9
- :path => Spud::Media.paperclip_storage == :s3 ? Spud::Media.storage_path : lambda { |attachment|
10
- attachment.instance.is_protected ? Spud::Media.storage_path_protected : Spud::Media.storage_path
11
- },
12
- :url => Spud::Media.storage_url,
13
- :styles => lambda { |attachment| attachment.instance.dynamic_styles }
14
-
15
- validates_numericality_of :crop_x, :crop_y, :crop_w, :crop_h, :crop_s, :allow_nil => true
3
+ has_attached_file :attachment,
4
+ storage: Spud::Media.paperclip_storage,
5
+ s3_credentials: Spud::Media.s3_credentials,
6
+ s3_permissions: 'public-read',
7
+ path: Spud::Media.storage_path,
8
+ url: Spud::Media.storage_url,
9
+ styles: ->(attachment) { attachment.instance.dynamic_styles }
10
+
11
+ validates :crop_x, :crop_y, :crop_w, :crop_h, :crop_s, numericality: { allow_nil: true }
16
12
 
17
13
  extend ActionView::Helpers::NumberHelper
18
14
 
19
15
  validates_attachment :attachment,
20
- :presence => true,
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}
16
+ presence: true,
17
+ content_type: { content_type: Spud::Media::CONTENT_TYPES },
18
+ size: {
19
+ less_than: Spud::Media.max_upload_size,
20
+ message: 'size cannot exceed ' + number_to_human_size(Spud::Media.max_upload_size),
21
+ if: proc { |_p| Spud::Media.max_upload_size.positive? }
26
22
  }
27
23
 
28
24
  before_create :rename_file
29
- #after_create :validate_permissions
30
- before_update :validate_permissions
31
25
 
32
26
  def rename_file
33
- # remove periods and other unsafe characters from file name to make routing easier
27
+ # Remove periods and other unsafe characters from file name to make routing easier
34
28
  extension = File.extname(attachment_file_name)
35
29
  filename = attachment_file_name.chomp(extension).parameterize
36
30
  attachment.instance_write :file_name, filename + extension
37
31
  end
38
32
 
39
33
  def image_from_type
34
+ if is_image?
35
+ return attachment_url(:small)
36
+
37
+ elsif attachment_content_type.blank?
38
+ return 'admin/files_thumbs/dat_thumb.png'
39
+
40
+ elsif attachment_content_type =~ /jpeg|jpg/
41
+ return 'admin/files_thumbs/jpg_thumb.png'
42
+
43
+ elsif attachment_content_type =~ /png/
44
+ return 'admin/files_thumbs/png_thumb.png'
45
+
46
+ elsif attachment_content_type =~ /zip|tar|tar\.gz|gz/
47
+ return 'admin/files_thumbs/zip_thumb.png'
48
+
49
+ elsif attachment_content_type =~ /xls|xlsx/
50
+ return 'admin/files_thumbs/xls_thumb.png'
51
+
52
+ elsif attachment_content_type =~ /doc|docx/
53
+ return 'admin/files_thumbs/doc_thumb.png'
40
54
 
41
- if self.is_image?
42
- return self.attachment_url(:small)
43
-
44
- elsif self.attachment_content_type.blank?
45
- return "admin/files_thumbs/dat_thumb.png"
46
-
47
- elsif self.attachment_content_type.match(/jpeg|jpg/)
48
- return "admin/files_thumbs/jpg_thumb.png"
49
-
50
- elsif self.attachment_content_type.match(/png/)
51
- return "admin/files_thumbs/png_thumb.png"
52
-
53
- elsif self.attachment_content_type.match(/zip|tar|tar\.gz|gz/)
54
- return "admin/files_thumbs/zip_thumb.png"
55
-
56
- elsif self.attachment_content_type.match(/xls|xlsx/)
57
- return "admin/files_thumbs/xls_thumb.png"
58
-
59
- elsif self.attachment_content_type.match(/doc|docx/)
60
- return "admin/files_thumbs/doc_thumb.png"
61
-
62
- elsif self.attachment_content_type.match(/ppt|pptx/)
63
- return "admin/files_thumbs/ppt_thumb.png"
64
-
65
- elsif self.attachment_content_type.match(/txt|text/)
66
- return "admin/files_thumbs/txt_thumb.png"
67
-
68
- elsif self.attachment_content_type.match(/pdf|ps/)
69
- return "admin/files_thumbs/pdf_thumb.png"
70
-
71
- elsif self.attachment_content_type.match(/mp3|wav|aac/)
72
- return "admin/files_thumbs/mp3_thumb.png"
55
+ elsif attachment_content_type =~ /ppt|pptx/
56
+ return 'admin/files_thumbs/ppt_thumb.png'
57
+
58
+ elsif attachment_content_type =~ /txt|text/
59
+ return 'admin/files_thumbs/txt_thumb.png'
60
+
61
+ elsif attachment_content_type =~ /pdf|ps/
62
+ return 'admin/files_thumbs/pdf_thumb.png'
63
+
64
+ elsif attachment_content_type =~ /mp3|wav|aac/
65
+ return 'admin/files_thumbs/mp3_thumb.png'
73
66
  end
74
-
75
- return "admin/files_thumbs/dat_thumb.png"
67
+
68
+ return 'admin/files_thumbs/dat_thumb.png'
76
69
  end
77
70
 
78
71
  def is_image?
79
- if self.attachment_content_type.match(/jpeg|jpg|png/)
72
+ if attachment_content_type =~ /jpeg|jpg|png/
80
73
  return true
81
74
  else
82
75
  return false
@@ -84,7 +77,7 @@ class SpudMedia < ActiveRecord::Base
84
77
  end
85
78
 
86
79
  def is_pdf?
87
- if self.attachment_content_type.match(/pdf/)
80
+ if attachment_content_type =~ /pdf/
88
81
  return true
89
82
  else
90
83
  return false
@@ -97,69 +90,29 @@ class SpudMedia < ActiveRecord::Base
97
90
 
98
91
  def dynamic_styles
99
92
  styles = {}
100
- if is_image? #|| is_pdf?
93
+ if is_image? # || is_pdf?
101
94
  styles[:small] = '50'
102
95
  if has_custom_crop?
103
- styles[:cropped] = {:geometry => '', :convert_options => "-strip -resize #{crop_s}% -crop #{crop_w}x#{crop_h}+#{crop_x}+#{crop_y}"}
96
+ styles[:cropped] = { geometry: '', convert_options: "-strip -resize #{crop_s}% -crop #{crop_w}x#{crop_h}+#{crop_x}+#{crop_y}" }
104
97
  else
105
- styles[:cropped] = {:geometry => '1280x1280>', :convert_options => '-strip -quality 85', :source_file_options => '-density 72'}
98
+ styles[:cropped] = { geometry: '1280x1280>', convert_options: '-strip -quality 85', source_file_options: '-density 72' }
106
99
  end
107
100
  end
108
101
  return styles
109
102
  end
110
103
 
111
- # if you are using S3, attachment.url will automatically point to the S3 url
112
- # protected files need to hit the rails middle-man first
113
- # this method will provide the correct url for either case
114
- def attachment_url(style=nil)
104
+ def attachment_url(style = nil)
115
105
  # defaults to cropped style if that style exists, otherwise use original
116
- if !style
117
- style = (is_image?) ? 'cropped' : 'original'
118
- end
119
- if Spud::Media.paperclip_storage == :s3 && is_protected
120
- return Paperclip::Interpolations.interpolate(Spud::Media.config.storage_url, attachment, style)
121
- else
122
- return attachment.url(style)
123
- end
124
- end
125
-
126
- # If is_protected has changed, we need to make sure we are setting the appropriate permissions
127
- # This means either moving the file in the filesystem or setting the appropriate ACL in S3
128
- def validate_permissions
129
- if Spud::Media.config.paperclip_storage == :filesystem
130
- validate_permissions_filesystem
131
- elsif Spud::Media.config.paperclip_storage == :s3
132
- validate_permissions_s3
133
- end
134
- end
135
-
136
- private
137
-
138
- def validate_permissions_filesystem
139
- if is_protected
140
- old_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path, attachment, 'original')
141
- new_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path_protected, attachment, 'original')
142
- else
143
- old_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path_protected, attachment, 'original')
144
- new_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path, attachment, 'original')
145
- end
146
- new_base_dir = File.dirname(File.dirname(new_path))
147
- old_base_dir = File.dirname(File.dirname(old_path))
148
- if File.directory?(old_base_dir)
149
- FileUtils.mv(old_base_dir, new_base_dir)
150
- end
106
+ style ||= is_image? ? 'cropped' : 'original'
107
+ return attachment.url(style)
151
108
  end
152
109
 
153
- def validate_permissions_s3
154
- if is_protected
155
- attachment.s3_object(:original).acl = :private
156
- attachment.s3_object(:cropped).acl = :private if attachment.s3_object(:cropped).exists?
157
- attachment.s3_object(:small).acl = :private if attachment.s3_object(:small).exists?
158
- else
159
- attachment.s3_object(:original).acl = :public_read
160
- attachment.s3_object(:cropped).acl = :public_read if attachment.s3_object(:cropped).exists?
161
- attachment.s3_object(:small).acl = :public_read if attachment.s3_object(:small).exists?
162
- end
110
+ def is_protected
111
+ ActiveSupport::Deprecation.warn(
112
+ 'SpudMedia#is_protected is deprecated and will soon be removed',
113
+ caller
114
+ )
115
+ false
163
116
  end
164
117
 
165
118
  end
@@ -9,27 +9,19 @@
9
9
  <% @media.each do |media| %>
10
10
  <tr>
11
11
  <td>
12
- <% if media.is_protected && media.is_image? %>
13
- <img src="<%= media.image_from_type %>" class="size-50-thumb" />
14
- <% else %>
15
- <%= image_tag(media.image_from_type, :class => "size-50-thumb") %>
16
- <% end %>
12
+ <%= image_tag(media.image_from_type, :class => "size-50-thumb") %>
17
13
  <%= link_to media.attachment_file_name, media.attachment_url %>
18
14
  </td>
19
15
  <td class="table-actions">
20
16
  <% if media.is_image? %>
21
17
  <%= link_to 'Crop', edit_admin_medium_path(media.id), :class => 'btn btn-sm btn-default' %>
22
18
  <% end %>
23
- <% if media.is_protected %>
24
- <%= link_to raw('<i class="icon-lock"></i> Protected'), set_access_admin_medium_path(media.id, :protected => false), :method => :put, :class => 'btn btn-sm btn-default' %>
25
- <% else %>
26
- <%= link_to 'Public', set_access_admin_medium_path(media.id, :protected => true), :method => :put, :class => 'btn btn-sm btn-default' %>
27
- <% end %>
28
- <%= link_to "Remove", admin_medium_path(media), :method => :delete, :class => 'btn btn-sm btn-danger', :data => {:confirm => "Are you sure you want to remove this file?"} %>
19
+ <%= link_to 'Remove', admin_medium_path(media), :method => :delete, :class => 'btn btn-sm btn-danger', :data => {:confirm => "Are you sure you want to remove this file?"} %>
29
20
  </td>
30
21
  </tr>
31
22
  <% end %>
32
23
  </tbody>
33
24
  </table>
34
- </div>
25
+ </div>
26
+ <%= will_paginate @media, :renderer => BootstrapPagination::Rails %>
35
27
  <% end %>
@@ -1,6 +1,5 @@
1
1
  <%=form_for @media, :url => admin_media_path, :builder => TbCore::FormBuilder, :html => {:class => "form-horizontal", :multipart => true} do |f|%>
2
2
  <%= tb_form_error_header(@media) %>
3
3
  <%= f.tb_file_field :attachment %>
4
- <%= f.tb_check_box :is_protected %>
5
4
  <%= f.tb_save_buttons('File', admin_media_path) %>
6
5
  <% end %>
@@ -4,14 +4,9 @@
4
4
  'data-url' => media.attachment_url,
5
5
  'data-name' => media.attachment_file_name,
6
6
  'data-size' => media.attachment_file_size,
7
- 'data-lastmod' => media.attachment_updated_at.blank? == false ? media.attachment_updated_at.strftime("%l:%M %p, %D") : '',
8
- 'data-protected' => (media.is_protected ? 'Yes' : 'No') do %>
7
+ 'data-lastmod' => media.attachment_updated_at.blank? == false ? media.attachment_updated_at.strftime("%l:%M %p, %D") : '' do %>
9
8
  <span class="spud_media_picker_item_thumb">
10
- <% if media.is_protected && media.is_image? %>
11
- <img src="<%= media.image_from_type %>"/>
12
- <% else %>
13
- <%= image_tag(media.image_from_type) %>
14
- <% end %>
9
+ <%= image_tag(media.image_from_type) %>
15
10
  </span>
16
11
  <span class="spud_media_picker_item_filename">
17
12
  <%= media.attachment_file_name %>
@@ -40,7 +40,6 @@
40
40
  <li>File Name: <span class="spud_media_picker_details_name"></span></li>
41
41
  <li>File Size: <span class="spud_media_picker_details_size"></span></li>
42
42
  <li>Last Modified: <span class="spud_media_picker_details_lastmod"></span></li>
43
- <li>Protected: <span class="spud_media_picker_details_protected"></span></li>
44
43
  </ul>
45
44
  </div>
46
45
  <div class="spud_media_picker_buttons">
@@ -104,4 +103,4 @@
104
103
  </script>
105
104
 
106
105
  </body>
107
- </html>
106
+ </html>
@@ -6,4 +6,3 @@ en:
6
6
  attributes:
7
7
  spud_media:
8
8
  attachment: 'File Upload'
9
- is_protected: 'Protected File'
@@ -1,11 +1,8 @@
1
1
  Rails.application.routes.draw do
2
+ namespace :admin do
3
+ resources :media
2
4
 
3
- namespace :admin do
4
- resources :media do
5
- put 'set_access', :on => :member
6
- end
7
- resources :media_picker, :only => [:index, :create]
8
- end
9
-
10
- get Spud::Media.config.storage_url => 'protected_media#show', :as => 'protected_media'
5
+ # picker plugin not currently used
6
+ # resources :media_picker, :only => [:index, :create]
7
+ end
11
8
  end
@@ -1,4 +1,4 @@
1
- class CreateSpudMedia < ActiveRecord::Migration
1
+ class CreateSpudMedia < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :spud_media do |t|
4
4
  t.string :attachment_content_type
@@ -8,4 +8,4 @@ class CreateSpudMedia < ActiveRecord::Migration
8
8
  t.timestamps
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,6 +1,5 @@
1
- class AddProtectedToSpudMedia < ActiveRecord::Migration
1
+ class AddProtectedToSpudMedia < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :spud_media, :is_protected, :boolean, :default => false
4
3
  add_column :spud_media, :attachment_updated_at, :datetime
5
4
  end
6
5
  end
@@ -1,4 +1,4 @@
1
- class AddCroppingToSpudMedia < ActiveRecord::Migration
1
+ class AddCroppingToSpudMedia < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :spud_media, :crop_x, :int, :default => 0
4
4
  add_column :spud_media, :crop_y, :int, :default => 0
@@ -2,12 +2,11 @@ module Spud
2
2
  module Media
3
3
  include ActiveSupport::Configurable
4
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
+ config_accessor :paperclip_storage, :s3_credentials, :storage_path, :storage_url, :max_upload_size
6
6
  self.paperclip_storage = :filesystem
7
7
  self.s3_credentials = "#{Rails.root}/config/s3.yml"
8
- self.storage_path = ":rails_root/public/system/spud_media/:id/:style/:basename.:extension"
9
- self.storage_path_protected = ":rails_root/public/system/spud_media_protected/:id/:style/:basename.:extension"
10
- self.storage_url = "/system/spud_media/:id/:style/:basename.:extension"
8
+ self.storage_path = ':rails_root/public/system/spud_media/:id/:style/:basename.:extension'
9
+ self.storage_url = '/system/spud_media/:id/:style/:basename.:extension'
11
10
  self.max_upload_size = 15.megabytes
12
11
  end
13
12
  end
@@ -8,7 +8,7 @@ module Spud
8
8
  'application/msword',
9
9
  'application/vnd.ms-excel',
10
10
  'application/vnd.ms-powerpoint',
11
-
11
+
12
12
  # Documents
13
13
  'application/pdf',
14
14
  'text/html',
@@ -57,6 +57,6 @@ module Spud
57
57
  'image/vnd.adobe.photoshop',
58
58
  'application/postscript',
59
59
  'application/x-shockwave-flash'
60
- ]
60
+ ].freeze
61
61
  end
62
62
  end
@@ -2,17 +2,25 @@ require 'tb_core'
2
2
  require 'paperclip'
3
3
 
4
4
  module Spud
5
- module Media
6
- class Engine < Rails::Engine
7
- engine_name :tb_media
8
- initializer :admin do
9
- config.assets.precompile += ['admin/media/picker.js']
10
- Spud::Core.append_admin_javascripts('admin/media/application')
11
- Spud::Core.append_admin_stylesheets('admin/media/application')
12
- Spud::Core.configure do |config|
13
- config.admin_applications += [{:name => "Media", :thumbnail => "admin/media_thumb.png", :url => "/admin/media", :order => 3, :retina => true}]
14
- end
15
- end
16
- end
17
- end
5
+ module Media
6
+ class Engine < Rails::Engine
7
+ engine_name :tb_media
8
+
9
+ initializer :admin do
10
+ config.assets.precompile += ['admin/files_thumbs/*']
11
+ config.assets.precompile += ['admin/media_thumb.png']
12
+ # config.assets.precompile += ['admin/media/picker.js'] <- Picker not currently used
13
+ TbCore.append_admin_javascripts('admin/media/application')
14
+ TbCore.append_admin_stylesheets('admin/media/application')
15
+ TbCore.configure do |config|
16
+ config.admin_applications += [{ name: 'Media', thumbnail: 'admin/media_thumb.png', url: '/admin/media', order: 3, retina: true }]
17
+ end
18
+ end
19
+
20
+ initializer 'tb_media.assets' do
21
+ Rails.application.config.assets.precompile += ['admin/media_thumb.png']
22
+ end
23
+
24
+ end
25
+ end
18
26
  end