class ImageGallery2017
Attributes
gallery[R]
index[R]
Public Class Methods
new(rsc, basepath='.', log: nil, imgxsl: '../../xsl/images.xsl', default_folder: '../../svg/folder.svg')
click to toggle source
# File lib/imagegallery2017.rb, line 124 def initialize(rsc, basepath='.', log: nil, imgxsl: '../../xsl/images.xsl', default_folder: '../../svg/folder.svg') log.info 'ImageGallery/initialize: active' if log @rsc, @basepath = rsc, basepath @index = IndexGallery.new rsc, filepath: @basepath, log: log @gallery = {} @default_folder, @log, @imgxsl = default_folder, log, imgxsl # load all the folders log.info 'ImageGallery/initialize: loading galleries' if log @index.all.each do |x| if x.folder.length > 0 then @gallery[x.folder] = Gallery.new rsc, filepath: basepath, folder: x.folder, log: log log.info 'ImageGallery/initialize: loaded ' + x.folder if log end end end
Public Instance Methods
add_image(upload_obj, folder=nil)
click to toggle source
# File lib/imagegallery2017.rb, line 149 def add_image(upload_obj, folder=nil) @log.info 'ImageGallery/add_image: active; folder: ' + folder.to_s if @log if folder then g = @gallery[folder] preview_file = g.add_image upload_obj rx = @index.find_by_folder folder rx.preview = preview_file rx.imgcount = g.all.length @index.save else @index.add_image upload_obj end @index.render end
browse(folder)
click to toggle source
# File lib/imagegallery2017.rb, line 172 def browse(folder) (folder ? @gallery[folder] : @index).render end
create_folder(title)
click to toggle source
# File lib/imagegallery2017.rb, line 198 def create_folder(title) folder = title.downcase.gsub(/\W/,'-').gsub(/-{2,}/,'-').gsub(/^-|-$/,'') if @log then @log.info "ImageGallery/create_folder: title: %s basepath: %s" % [title, @basepath.inspect] end fg = Gallery.new @rsc, filepath: @basepath, xslfile: @imgxsl, folder: folder, log: @log fg.title = title fg.summary[:folder] = folder fg.save @log.info 'ImageGallery/create_folder: saved' if @log @gallery[folder] = fg @log.info 'ImageGallery/create_folder: folder: ' + folder.inspect if @log @index.create preview: @default_folder, folder: folder, title: title @index.save @index.render end
delete_folder(folder)
click to toggle source
# File lib/imagegallery2017.rb, line 223 def delete_folder(folder) @gallery.delete folder rx = @index.find_by_folder folder rx.delete @index.save @index.render end
delete_image(id, folder=nil)
click to toggle source
# File lib/imagegallery2017.rb, line 176 def delete_image(id, folder=nil) if folder then g = @gallery[folder] g.delete_image id preview_file = g.all.any? ? g.all.first.preview : @default_folder rx = @index.find_by_folder folder rx.preview = preview_file rx.imgcount = g.all.length @index.save else @index.delete_image id end @index.render end