Skip to content

bricolage/paperclip-meta

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paperclip Meta

Simple gem to let paperclip play nice with thumbnails width, height and size.

Paperclip Meta will get image dimensions right after post_process_styles using paperclips own Geometry.from_file. This should make paperclip-meta storage independent.

Quick Start

Add paperclip-meta to Gemfile:

gem 'paperclip-meta'

Create migration:

class AddMetaToAvatar < ActiveRecord::Migration
  def self.up
    add_column :users, :avatar_meta,    :text
  end

  def self.down
    remove_column :users, :avatar_meta
  end
end

Rebuild all thumbnails to fill meta column if you already have some attachments.

Now you can use meta-magic:

<%= image_tag @user.avatar.url, :size => @user.avatar.image_size %>
<%= image_tag @user.avatar.url(:medium), :size => @user.avatar.image_size(:medium) %>
<%= image_tag @user.avatar.url(:thumb), :size => @user.avatar.image_size(:thumb) %>

Internals

Meta column is simple hash:

:style => {
  :width => 100,
  :height => 100,
  :size => 42000
}

This hash will be marshaled and base64 encoded before writing to model attribute.

Meta methods provided:

- width `@user.avatar.width(:thumb)`
- height `@user.avatar.height(:medium)`
- size `@user.avatar.size`

You can pass thumbnail style to all these methods. If style not passed, default_style will be used.

TODO

  • It will be nice to write some tests. :D

About

Adds width, height and size to thumbnails.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%