spud_photos 0.1.5 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +22 -2
- data/Rakefile +2 -14
- data/app/assets/javascripts/spud/admin/photos.js +36 -50
- data/app/assets/stylesheets/spud/admin/photos.css +1 -0
- data/app/controllers/photo_albums_controller.rb +6 -0
- data/app/controllers/photo_galleries_controller.rb +6 -0
- data/app/controllers/spud/admin/photo_albums_controller.rb +1 -0
- data/app/controllers/spud/admin/photo_galleries_controller.rb +1 -0
- data/app/controllers/spud/admin/photos_controller.rb +1 -0
- data/app/models/spud_photo.rb +4 -2
- data/app/models/spud_photo_sweeper.rb +33 -0
- data/app/views/spud/admin/photos/_form.html.erb +0 -5
- data/lib/spud_photos/configuration.rb +4 -1
- data/lib/spud_photos/version.rb +1 -1
- metadata +154 -74
- data/test/dummy/README.rdoc +0 -261
- data/test/dummy/Rakefile +0 -7
- data/test/dummy/app/assets/javascripts/application.js +0 -15
- data/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/dummy/app/controllers/application_controller.rb +0 -3
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/config/application.rb +0 -56
- data/test/dummy/config/boot.rb +0 -10
- data/test/dummy/config/database.yml +0 -15
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -37
- data/test/dummy/config/environments/production.rb +0 -67
- data/test/dummy/config/environments/test.rb +0 -37
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/inflections.rb +0 -15
- data/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/config/initializers/session_store.rb +0 -8
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -5
- data/test/dummy/config/routes.rb +0 -4
- data/test/dummy/config.ru +0 -4
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -25
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +0 -6
data/README.markdown
CHANGED
@@ -30,7 +30,7 @@ Spud Photos accepts the following configuration options:
|
|
30
30
|
:large => '400x400#',
|
31
31
|
:huge => '600x600'
|
32
32
|
}
|
33
|
-
|
33
|
+
config.paperclip_storage = :filesystem #use :s3 to use s3 storage (aws gem required)
|
34
34
|
config.s3_credentials = "#{Rails.root}/config/s3.yml"
|
35
35
|
config.storage_path = ":rails_root/public/system/spud_photos/:id/:style/:basename.:extension"
|
36
36
|
config.storage_url = "/system/spud_photos/:id/:style/:basename.:extension"
|
@@ -52,4 +52,24 @@ __NOTE:__ The built-in views are likely to undergo changes as features are added
|
|
52
52
|
|
53
53
|
|
54
54
|
[1]:https://github.com/davydotcom/spud_core_admin
|
55
|
-
[2]:https://github.com/thoughtbot/paperclip
|
55
|
+
[2]:https://github.com/thoughtbot/paperclip
|
56
|
+
|
57
|
+
Testing
|
58
|
+
-----------------
|
59
|
+
|
60
|
+
Spud uses RSpec for testing. Get the tests running with a few short commands:
|
61
|
+
|
62
|
+
1. Create and migrate the databases:
|
63
|
+
|
64
|
+
rake db:create
|
65
|
+
rake db:migrate
|
66
|
+
|
67
|
+
2. Load the schema in to the test database:
|
68
|
+
|
69
|
+
rake app:db:test:prepare
|
70
|
+
|
71
|
+
3. Run the tests with RSpec
|
72
|
+
|
73
|
+
rspec spec
|
74
|
+
|
75
|
+
After the tests have completed the current code coverage stats is available by opening ```/coverage/index.html``` in a browser.
|
data/Rakefile
CHANGED
@@ -20,21 +20,9 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
20
20
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
21
21
|
end
|
22
22
|
|
23
|
-
APP_RAKEFILE = File.expand_path("../
|
23
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
24
24
|
load 'rails/tasks/engine.rake'
|
25
25
|
|
26
|
-
|
27
|
-
|
28
26
|
Bundler::GemHelper.install_tasks
|
29
27
|
|
30
|
-
require 'rake
|
31
|
-
|
32
|
-
Rake::TestTask.new(:test) do |t|
|
33
|
-
t.libs << 'lib'
|
34
|
-
t.libs << 'test'
|
35
|
-
t.pattern = 'test/**/*_test.rb'
|
36
|
-
t.verbose = false
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
task :default => :test
|
28
|
+
require 'rake'
|
@@ -14,12 +14,14 @@ Spud.Admin.Photos = new function(){
|
|
14
14
|
$('body').on('submit', '#spud_admin_photo_album_form', self.submittedPhotoAlbumForm);
|
15
15
|
$('body').on('submit', '#spud_admin_photo_gallery_form', self.submittedPhotoGalleryForm);
|
16
16
|
$('body').on('submit', '#spud_admin_photo_form', self.submittedPhotoForm);
|
17
|
-
$('body').on('click', '.spud_admin_photos_btn_remove', self.clickedPhotoRemoveFromAlbum)
|
17
|
+
$('body').on('click', '.spud_admin_photos_btn_remove', self.clickedPhotoRemoveFromAlbum);
|
18
18
|
$('body').on('click', '.spud_admin_photo_ui_thumbs_selectable .spud_admin_photo_ui_thumb', self.selectedPhotoUiThumb);
|
19
19
|
$('body').on('click', '#spud_admin_photo_album_action_library', self.clickedPhotoLibrary);
|
20
20
|
$('body').on('click', '#spud_admin_photo_album_action_upload, .spud_admin_photo .spud_admin_photos_btn_edit', self.clickedPhotoAddOrEdit);
|
21
|
+
$('body').on('click', '.spud_admin_photo_library_add_selected', self.addSelectedPhotosFromLibrary);
|
22
|
+
$('body').on('click', '.spud_admin_photo_library_delete_selected', self.deleteSelectedPhotosFromLibrary);
|
21
23
|
|
22
|
-
// html5 drag and drop file
|
24
|
+
// html5 drag and drop file
|
23
25
|
if(typeof(FormData) != 'undefined' && typeof(XMLHttpRequest) != 'undefined' && (droparea = document.getElementById('spud_admin_photo_upload_queue'))){
|
24
26
|
html5upload = true;
|
25
27
|
$('#spud_admin_photo_upload_queue').show();
|
@@ -43,7 +45,7 @@ Spud.Admin.Photos = new function(){
|
|
43
45
|
|
44
46
|
this.submittedPhotoGalleryForm = function(e){
|
45
47
|
$('#spud_admin_photo_albums_available .spud_admin_photo_ui_thumb').remove();
|
46
|
-
}
|
48
|
+
};
|
47
49
|
|
48
50
|
this.clickedPhotoRemoveFromAlbum = function(e){
|
49
51
|
$(this).parents('.spud_admin_photo_ui_thumb').fadeOut(200, function(){
|
@@ -68,7 +70,7 @@ Spud.Admin.Photos = new function(){
|
|
68
70
|
var target = $('#spud_admin_photos_selected, #spud_admin_photos');
|
69
71
|
target.prepend(html);
|
70
72
|
}
|
71
|
-
|
73
|
+
hideModalDialog();
|
72
74
|
};
|
73
75
|
|
74
76
|
this.selectedPhotoUiThumb = function(e){
|
@@ -102,14 +104,15 @@ Spud.Admin.Photos = new function(){
|
|
102
104
|
});
|
103
105
|
};
|
104
106
|
|
105
|
-
/*
|
107
|
+
/*
|
106
108
|
* Single-Photo Form Upload
|
107
109
|
-------------------------------- */
|
108
110
|
|
109
111
|
this.submittedPhotoForm = function(e){
|
110
112
|
// disable submit button
|
111
|
-
|
112
|
-
submit
|
113
|
+
// not working in updated bootstrap!
|
114
|
+
// var submit = $(this).find('input[type=submit]');
|
115
|
+
// submit.attr('disabled', 'disabled').val(submit.attr('data-loading-text'));
|
113
116
|
|
114
117
|
if(html5upload){
|
115
118
|
// create a FormData object and attach form values
|
@@ -120,20 +123,21 @@ Spud.Admin.Photos = new function(){
|
|
120
123
|
fd.append('spud_photo[title]', form.find('#spud_photo_title').val());
|
121
124
|
fd.append('spud_photo[caption]', form.find('#spud_photo_caption').val());
|
122
125
|
|
123
|
-
// progress bar to send events to
|
126
|
+
// progress bar to send events to
|
127
|
+
var progressBar;
|
124
128
|
var file = form.find('#spud_photo_photo')[0].files[0];
|
125
129
|
if(file){
|
126
|
-
|
130
|
+
progressBar = self.progressBarForUpload(file.fileName);
|
127
131
|
fd.append('spud_photo[photo]', file);
|
128
|
-
form.
|
132
|
+
form.append(progressBar);
|
129
133
|
}
|
130
134
|
else{
|
131
|
-
|
135
|
+
progressBar = self.progressBarForUpload('');
|
132
136
|
}
|
133
137
|
|
134
138
|
// send FormData object as ajax request
|
135
139
|
var xhr = new XMLHttpRequest();
|
136
|
-
xhr.upload.addEventListener('progress', function(e){ self.onPhotoUploadProgress(e, progressBar) }, false);
|
140
|
+
xhr.upload.addEventListener('progress', function(e){ self.onPhotoUploadProgress(e, progressBar); }, false);
|
137
141
|
xhr.addEventListener('load', function(e){ self.onPhotoUploadComplete(e, progressBar); }, false);
|
138
142
|
xhr.addEventListener('error', function(e){ self.onPhotoUploadFailure(e, progressBar); }, false);
|
139
143
|
xhr.addEventListener('abort', function(e){ self.onPhotoUploadCancel(e, progressBar); }, false);
|
@@ -144,7 +148,7 @@ Spud.Admin.Photos = new function(){
|
|
144
148
|
}
|
145
149
|
};
|
146
150
|
|
147
|
-
/*
|
151
|
+
/*
|
148
152
|
* Upload Progress Monitoring
|
149
153
|
-------------------------------- */
|
150
154
|
|
@@ -184,18 +188,14 @@ Spud.Admin.Photos = new function(){
|
|
184
188
|
var target = $('#spud_admin_photos_selected, #spud_admin_photos');
|
185
189
|
target.prepend(photo.html).fadeIn(200);
|
186
190
|
}
|
187
|
-
|
191
|
+
hideModalDialog();
|
188
192
|
}
|
189
193
|
// validation error
|
190
194
|
else{
|
191
|
-
$(
|
195
|
+
$("#modal_window .modal-body").html(photo.html);
|
192
196
|
}
|
193
197
|
};
|
194
198
|
|
195
|
-
this.onPhotoUploadCancel = function(e, progressBar){
|
196
|
-
|
197
|
-
};
|
198
|
-
|
199
199
|
this.onPhotoUploadCancel = function(e, progressBar){
|
200
200
|
progressBar.find('.spud_admin_photo_progress_status').text('Done!');
|
201
201
|
progressBar.find('.progress').addClass('progress-danger');
|
@@ -203,7 +203,7 @@ Spud.Admin.Photos = new function(){
|
|
203
203
|
|
204
204
|
/*
|
205
205
|
* Photo Upload/Edit Form
|
206
|
-
------------------------------- */
|
206
|
+
------------------------------- */
|
207
207
|
this.clickedPhotoAddOrEdit = function(e){
|
208
208
|
var url = this.href;
|
209
209
|
$.ajax({
|
@@ -214,17 +214,9 @@ Spud.Admin.Photos = new function(){
|
|
214
214
|
};
|
215
215
|
|
216
216
|
this.photoUploadFormLoaded = function(html){
|
217
|
-
|
218
|
-
if(dialog.length == 0){
|
219
|
-
dialog = $('<div id="dialog" style="display:hidden;"></div>').appendTo('body');
|
220
|
-
}
|
221
|
-
dialog.html(html);
|
222
|
-
dialog.dialog({
|
223
|
-
width: 500,
|
224
|
-
modal: true,
|
225
|
-
height: 'auto',
|
217
|
+
displayModalDialogWithOptions({
|
226
218
|
title: 'Upload Photo',
|
227
|
-
|
219
|
+
html: html
|
228
220
|
});
|
229
221
|
};
|
230
222
|
|
@@ -242,11 +234,7 @@ Spud.Admin.Photos = new function(){
|
|
242
234
|
};
|
243
235
|
|
244
236
|
this.photoLibraryLoaded = function(html){
|
245
|
-
var dialog = $(
|
246
|
-
if(dialog.length == 0){
|
247
|
-
dialog = $('<div id="dialog" style="display:hidden;"></div>').appendTo('body');
|
248
|
-
}
|
249
|
-
dialog.html(html);
|
237
|
+
var dialog = $('#modal_window');
|
250
238
|
$('#spud_admin_photos_selected .spud_admin_photo_ui_thumb').each(function(){
|
251
239
|
var id = $(this).attr('id');
|
252
240
|
var dupe = dialog.find('#'+id);
|
@@ -254,14 +242,12 @@ Spud.Admin.Photos = new function(){
|
|
254
242
|
dupe.remove();
|
255
243
|
}
|
256
244
|
});
|
257
|
-
|
258
|
-
width: 675,
|
259
|
-
modal: true,
|
260
|
-
height: 450,
|
245
|
+
displayModalDialogWithOptions({
|
261
246
|
title: 'My Photo Library',
|
262
|
-
|
263
|
-
|
264
|
-
'
|
247
|
+
html: html,
|
248
|
+
buttons:{
|
249
|
+
'spud_admin_photo_library_add_selected btn-primary': 'Add Selected',
|
250
|
+
'spud_admin_photo_library_delete_selected btn-danger': 'Delete Selected'
|
265
251
|
}
|
266
252
|
});
|
267
253
|
};
|
@@ -272,11 +258,11 @@ Spud.Admin.Photos = new function(){
|
|
272
258
|
.prependTo('#spud_admin_photos_selected')
|
273
259
|
.hide()
|
274
260
|
.fadeIn(200);
|
275
|
-
|
261
|
+
hideModalDialog();
|
276
262
|
};
|
277
263
|
|
278
264
|
this.deleteSelectedPhotosFromLibrary = function(e){
|
279
|
-
var ids = $.map($('.spud_admin_photo_ui_thumb_selected'), function(val, i){
|
265
|
+
var ids = $.map($('.spud_admin_photo_ui_thumb_selected'), function(val, i){
|
280
266
|
return $(val).attr('rel');
|
281
267
|
});
|
282
268
|
$.ajax({
|
@@ -289,10 +275,10 @@ Spud.Admin.Photos = new function(){
|
|
289
275
|
});
|
290
276
|
},
|
291
277
|
error: function(jqXHR, textStatus, errorThrown){
|
292
|
-
console.log('An error occurred:')
|
278
|
+
console.log('An error occurred:');
|
293
279
|
console.log(arguments);
|
294
280
|
}
|
295
|
-
})
|
281
|
+
});
|
296
282
|
|
297
283
|
};
|
298
284
|
|
@@ -307,7 +293,7 @@ Spud.Admin.Photos = new function(){
|
|
307
293
|
this.stopDndPropagation = function(e){
|
308
294
|
e.stopPropagation();
|
309
295
|
e.preventDefault();
|
310
|
-
}
|
296
|
+
};
|
311
297
|
|
312
298
|
// add files to queue. starts queue if not started already
|
313
299
|
this.droppedFile = function(e){
|
@@ -324,7 +310,7 @@ Spud.Admin.Photos = new function(){
|
|
324
310
|
if(!this.fileQueueStarted){
|
325
311
|
self.uploadNextPhoto();
|
326
312
|
if(self.fileQueue.length > 0){
|
327
|
-
self.uploadNextPhoto();
|
313
|
+
self.uploadNextPhoto();
|
328
314
|
}
|
329
315
|
}
|
330
316
|
};
|
@@ -334,7 +320,7 @@ Spud.Admin.Photos = new function(){
|
|
334
320
|
};
|
335
321
|
|
336
322
|
this.uploadNextPhoto = function(){
|
337
|
-
if(self.fileQueue.length
|
323
|
+
if(self.fileQueue.length === 0){
|
338
324
|
self.fileQueueStarted = false;
|
339
325
|
return;
|
340
326
|
}
|
@@ -352,7 +338,7 @@ Spud.Admin.Photos = new function(){
|
|
352
338
|
// send formdata as xhr
|
353
339
|
var xhr = new XMLHttpRequest();
|
354
340
|
xhr.upload.addEventListener('progress', function(e){ self.onPhotoUploadProgress(e, progressBar); }, false);
|
355
|
-
xhr.addEventListener('load', function(e){ self.onQueuedPhotoUploadComplete(e, progressBar) }, false);
|
341
|
+
xhr.addEventListener('load', function(e){ self.onQueuedPhotoUploadComplete(e, progressBar); }, false);
|
356
342
|
xhr.addEventListener('error', function(e){ self.onPhotoUploadFailure(e, progressBar); }, false);
|
357
343
|
xhr.addEventListener('abort', function(e){ self.onPhotoUploadCancel(e, progressBar); }, false);
|
358
344
|
xhr.open('POST', '/spud/admin/photos');
|
@@ -3,6 +3,12 @@ class PhotoAlbumsController < ApplicationController
|
|
3
3
|
respond_to :html, :json, :xml
|
4
4
|
layout Spud::Photos.base_layout
|
5
5
|
|
6
|
+
after_filter :only => [:show, :index] do |c|
|
7
|
+
if Spud::Photos.enable_full_page_caching
|
8
|
+
c.cache_page(nil, nil, false)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
6
12
|
def index
|
7
13
|
if params[:photo_gallery_id]
|
8
14
|
@photo_gallery = SpudPhotoGallery.find_by_url_name(params[:photo_gallery_id])
|
@@ -3,6 +3,12 @@ class PhotoGalleriesController < ApplicationController
|
|
3
3
|
respond_to :html, :json, :xml
|
4
4
|
layout Spud::Photos.base_layout
|
5
5
|
|
6
|
+
after_filter :only => [:index] do |c|
|
7
|
+
if Spud::Photos.enable_full_page_caching
|
8
|
+
c.cache_page(nil, nil, false)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
6
12
|
def index
|
7
13
|
@photo_galleries = SpudPhotoGallery.order('created_at desc')
|
8
14
|
respond_with @photo_galleries
|
@@ -4,6 +4,7 @@ class Spud::Admin::PhotoAlbumsController < Spud::Admin::ApplicationController
|
|
4
4
|
add_breadcrumb 'Photo Albums', :spud_admin_photo_albums_path
|
5
5
|
respond_to :html, :json, :xml
|
6
6
|
layout 'spud/admin/spud_photos'
|
7
|
+
cache_sweeper :spud_photo_sweeper, :only => [:create, :update, :destroy]
|
7
8
|
|
8
9
|
def index
|
9
10
|
@photo_albums = SpudPhotoAlbum.all
|
@@ -5,6 +5,7 @@ class Spud::Admin::PhotoGalleriesController < Spud::Admin::ApplicationController
|
|
5
5
|
add_breadcrumb 'Photo Galleries', :spud_admin_photo_galleries_path
|
6
6
|
respond_to :html, :json, :xml
|
7
7
|
layout 'spud/admin/spud_photos'
|
8
|
+
cache_sweeper :spud_photo_sweeper, :only => [:create, :update, :destroy]
|
8
9
|
|
9
10
|
def index
|
10
11
|
@photo_galleries = SpudPhotoGallery.all
|
@@ -5,6 +5,7 @@ class Spud::Admin::PhotosController < Spud::Admin::ApplicationController
|
|
5
5
|
before_filter :get_photo, :only => [:show, :edit, :update, :destroy]
|
6
6
|
respond_to :html, :json, :xml, :js
|
7
7
|
layout false
|
8
|
+
cache_sweeper :spud_photo_sweeper, :only => [:create, :update, :destroy]
|
8
9
|
|
9
10
|
def index
|
10
11
|
@photos = SpudPhoto.all
|
data/app/models/spud_photo.rb
CHANGED
@@ -9,6 +9,7 @@ class SpudPhoto < ActiveRecord::Base
|
|
9
9
|
|
10
10
|
has_attached_file :photo,
|
11
11
|
:styles => lambda { |attachment| attachment.instance.dynamic_styles },
|
12
|
+
:convert_options => Spud::Photos.config.convert_options,
|
12
13
|
:storage => Spud::Photos.paperclip_storage,
|
13
14
|
:s3_credentials => Spud::Photos.s3_credentials,
|
14
15
|
:url => Spud::Photos.storage_url,
|
@@ -17,9 +18,10 @@ class SpudPhoto < ActiveRecord::Base
|
|
17
18
|
validates_attachment_presence :photo
|
18
19
|
|
19
20
|
def dynamic_styles
|
21
|
+
compress = '-strip -density 72x72'
|
20
22
|
admin_styles = {
|
21
|
-
:spud_admin_small => '125x125#',
|
22
|
-
:spud_admin_medium => '300x200'
|
23
|
+
:spud_admin_small => {:geometry => '125x125#', :convert_options => compress},
|
24
|
+
:spud_admin_medium => {:geometry => '300x200', :convert_options => compress}
|
23
25
|
}
|
24
26
|
return admin_styles.merge(Spud::Photos.config.photo_styles)
|
25
27
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class SpudPhotoSweeper < ActionController::Caching::Sweeper
|
2
|
+
|
3
|
+
observe :spud_photo, :spud_photo_album, :spud_photo_gallery
|
4
|
+
|
5
|
+
def after_create(record)
|
6
|
+
expire_cache_for(record)
|
7
|
+
end
|
8
|
+
|
9
|
+
def before_update(record)
|
10
|
+
expire_cache_for(record)
|
11
|
+
end
|
12
|
+
|
13
|
+
def after_destroy(record)
|
14
|
+
expire_cache_for(record)
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def expire_cache_for(record)
|
20
|
+
if Spud::Photos.config.enable_full_page_caching
|
21
|
+
cache_path = File.join(ActionController::Base.page_cache_directory, Spud::Photos.config.base_path)
|
22
|
+
if File.directory?(cache_path)
|
23
|
+
FileUtils.rm_rf(cache_path)
|
24
|
+
end
|
25
|
+
if !Spud::Photos.config.page_caches_to_sweep.blank?
|
26
|
+
Spud::Photos.config.page_caches_to_sweep.each do |route|
|
27
|
+
expire_page(route)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -36,11 +36,6 @@
|
|
36
36
|
<% end %>
|
37
37
|
</fieldset>
|
38
38
|
|
39
|
-
<div class="form-actions">
|
40
|
-
<%= f.submit "Save Photo", :class=>"btn btn-primary form-btn", "data-loading-text" => "Saving..." %>
|
41
|
-
<!--or <%=link_to "cancel", request.referer, :class => "btn" %> -->
|
42
|
-
</div>
|
43
|
-
|
44
39
|
<iframe id="spud_admin_photo_form_target" name="spud_admin_photo_form_target" style="display:none;"></iframe>
|
45
40
|
|
46
41
|
<% end %>
|
@@ -1,12 +1,13 @@
|
|
1
1
|
module Spud
|
2
2
|
module Photos
|
3
3
|
include ActiveSupport::Configurable
|
4
|
-
config_accessor :photo_styles, :galleries_enabled, :base_layout, :base_path,:s3_credentials,:storage_path,:storage_url,:paperclip_storage
|
4
|
+
config_accessor :photo_styles, :convert_options, :galleries_enabled, :base_layout, :base_path,:s3_credentials,:storage_path,:storage_url,:paperclip_storage, :enable_full_page_caching, :page_caches_to_sweep
|
5
5
|
self.photo_styles = {
|
6
6
|
:small => '50x50#',
|
7
7
|
:medium => '200x200#',
|
8
8
|
:large => '400x400#'
|
9
9
|
}
|
10
|
+
self.convert_options = {}
|
10
11
|
self.galleries_enabled = false
|
11
12
|
self.base_layout = 'application'
|
12
13
|
self.base_path = 'photos'
|
@@ -14,5 +15,7 @@ module Spud
|
|
14
15
|
self.s3_credentials = "#{Rails.root}/config/s3.yml"
|
15
16
|
self.storage_path = ":rails_root/public/system/spud_photos/:id/:style/:basename.:extension"
|
16
17
|
self.storage_url = "/system/spud_photos/:id/:style/:basename.:extension"
|
18
|
+
self.enable_full_page_caching = false
|
19
|
+
self.page_caches_to_sweep = []
|
17
20
|
end
|
18
21
|
end
|
data/lib/spud_photos/version.rb
CHANGED