DEPRECATED - no longer actively maintained
Rails Engine built on top of Paperclip gem to add attributes, as columns in your models, related to your attachments.
Paperclip Attributes is no longer maintained.
- We will leave the Issues open as a discussion forum only.
- We do not guarantee a response from us in the Issues.
- We are no longer accepting pull requests.
Installation
Add to your Gemfile:
gem "paperclip_attributes"bundle installUsage
To add new attributes, you need to run the following generator:
rails g paperclip_attributes Model attachment recipe1 recipe2
-
Model: is the Active Record model containing the attachment you want to add attributes. -
attachment: is the paperclip's attachment name on given model. -
recipes (recipe1 recipe2): is a list of recipes to extend the attachment. A recipe represents one or more attributes related to the attachment param. You can see a full list of recipes on the section below.
The generator, will only create migrations to extend your attachments. So, after run it, you need to do:
rake db:migrate
Then, to enable the functionality in your model, you need to add the recipes to the attachment definition:
class MyModel < ActiveRecord::Base
has_attached_file :attachment, attributes: [:recipe1, :recipe2]
endThat's it!
The process to extract attributes will be done on before_save callback.
Example
rails g paperclip_attributes User avatar dimensions color
In User model:
class User < ActiveRecord::Base
has_attached_file :avatar, attributes: [:dimensions, :color]
endThen, with an User instance, you'll be able to do something like this:
user = User.new
user.avatar = some_file
user.save!
user.avatar_height #=> 200
user.avatar_width #=> 400
user.avatar_dominant_color #=> "#FF9900"Recipes
For images:
dimensions:
-
[attachment]_width: the original width of the image. -
[attachment]_height: the original height of the image.
color:
-
[attachment]_dominant_color: the predominant color of the image.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
Credits
Thank you contributors!
Paperclip Attributes is maintained by platanus.
License
Paperclip Attributes is © 2016 platanus, spa. It is free software and may be redistributed under the terms specified in the LICENSE file.