tb_media 1.2.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
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