Class: ImageGallery2017
- Inherits:
-
Object
- Object
- ImageGallery2017
- Defined in:
- lib/imagegallery2017.rb
Defined Under Namespace
Classes: Gallery, IndexGallery
Instance Attribute Summary collapse
-
#gallery ⇒ Object
readonly
Returns the value of attribute gallery.
-
#index ⇒ Object
readonly
Returns the value of attribute index.
Instance Method Summary collapse
- #add_image(upload_obj, folder = nil) ⇒ Object
- #browse(folder) ⇒ Object
- #create_folder(title) ⇒ Object
- #delete_folder(folder) ⇒ Object
- #delete_image(id, folder = nil) ⇒ Object
-
#initialize(rsc, basepath = '.', log: nil, imgxsl: '../../xsl/images.xsl', default_folder: '../../svg/folder.svg') ⇒ ImageGallery2017
constructor
A new instance of ImageGallery2017.
Constructor Details
#initialize(rsc, basepath = '.', log: nil, imgxsl: '../../xsl/images.xsl', default_folder: '../../svg/folder.svg') ⇒ ImageGallery2017
Returns a new instance of ImageGallery2017.
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# 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 @basepath = 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 |
Instance Attribute Details
#gallery ⇒ Object (readonly)
Returns the value of attribute gallery.
122 123 124 |
# File 'lib/imagegallery2017.rb', line 122 def gallery @gallery end |
#index ⇒ Object (readonly)
Returns the value of attribute index.
122 123 124 |
# File 'lib/imagegallery2017.rb', line 122 def index @index end |
Instance Method Details
#add_image(upload_obj, folder = nil) ⇒ Object
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
# 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) ⇒ Object
172 173 174 |
# File 'lib/imagegallery2017.rb', line 172 def browse(folder) (folder ? @gallery[folder] : @index).render end |
#create_folder(title) ⇒ Object
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
# 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) ⇒ Object
223 224 225 226 227 228 229 230 231 232 |
# 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) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
# 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 |