Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Adds width, height, and size to paperclip images.
Ruby
tag: v0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
.rspec
Gemfile
Gemfile.lock
README.rdoc
Rakefile
init.rb
paperclip-meta.gemspec

README.rdoc

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

Something went wrong with that request. Please try again.