Module: SequelImage::InstanceMethods
- Defined in:
- lib/ramaze/contrib/sequel/image.rb
Instance Method Summary collapse
- #basename ⇒ Object
- #cleanup ⇒ Object
- #conf ⇒ Object
- #file(size = nil) ⇒ Object
- #filename(size) ⇒ Object
- #generate_thumbnails ⇒ Object
- #next_name(uid, ext) ⇒ Object
- #path ⇒ Object
- #public_file(size) ⇒ Object
- #public_path ⇒ Object
- #public_root ⇒ Object
Instance Method Details
#basename ⇒ Object
146 147 148 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 146 def basename File.basename(original, File.extname(original)) end |
#cleanup ⇒ Object
166 167 168 169 170 171 172 173 174 175 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 166 def cleanup conf[:sizes].each do |name, args| out = public_file(name) Ramaze::Log.debug "Remove Thumbnail: #{out}" FileUtils.rm_f(out) end Ramaze::Log.debug "Remove original: #{original}" FileUtils.rm_f(original) end |
#conf ⇒ Object
162 163 164 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 162 def conf self.class::IMAGE end |
#file(size = nil) ⇒ Object
125 126 127 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 125 def file(size = nil) File.join('/', path, filename(size)) end |
#filename(size) ⇒ Object
154 155 156 157 158 159 160 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 154 def filename(size) if size "#{basename}_#{size}.png" else "#{basename}.png" end end |
#generate_thumbnails ⇒ Object
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 177 def generate_thumbnails FileUtils.mkdir_p(public_path) sizes, algorithm = conf.values_at(:sizes, :algorithm) ImageScience.with_image(original) do |img| Ramaze::Log.debug "Process original: #{original}" sizes.each do |name, args| out = public_file(name) Ramaze::Log.debug "Generate Thumbnail: #{out}" img.send(algorithm, *args) do |thumb| thumb.save(out) end end end end |
#next_name(uid, ext) ⇒ Object
141 142 143 144 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 141 def next_name(uid, ext) uid = uid.to_s.scan(%r![^\\/'".:?&;\s]+!).join('-') "#{uid}#{ext}" end |
#path ⇒ Object
137 138 139 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 137 def path conf[:path] || conf[:owner].to_s.downcase end |
#public_file(size) ⇒ Object
129 130 131 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 129 def public_file(size) File.join(public_path, filename(size)) end |
#public_path ⇒ Object
133 134 135 |
# File 'lib/ramaze/contrib/sequel/image.rb', line 133 def public_path File.join(public_root, path) end |