
Security News
CISA’s 2025 SBOM Guidance Adds Hashes, Licenses, Tool Metadata, and Context
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
mongoid_paperclip_queue
Advanced tools
h1. Mongoid::PaperclipQueue
Mongoid::PaperclipQueue is a complete rewrite of "Delayed_Paperclip":http://github.com/jstorimer/delayed_paperclip and "Mongoid_Paperclip":http://github.com/meskyanichi/mongoid-paperclip to allow those of us using Mongoid to process "Paperclip":http://github.com/thoughtbot/paperclip attachments in the background using "Resque":http://github.com/defunkt/resque.
h2. Why?
We all know how important it is to keep our page load times down, so this allows us to dump all that processing to Resque to perform in the background.
h2. Installation
Install the gem:
sudo gem install mongoid_paperclip_queue
Or for Rails 3, to your Gemfile:
gem 'mongoid_paperclip_queue'
h3. Dependencies:
You don't need to include paperclip in your Gemfile.
h2. Usage
In your model:
class User
include Mongoid::Document
extend Mongoid::PaperclipQueue
has_queued_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
# You can also embed attachments, too.
class Team
include Mongoid::Document
embeds_many :users, :cascade_callbacks => true # this will save all the attachments when Team is saved.
end
Paperclip will behave exactly "like they describe":http://github.com/thoughtbot/paperclip.
h3. Resque
Make sure that you have "Resque":http://github.com/defunkt/resque up and running. The jobs will be dispatched to the :paperclip
queue, so you can correctly dispatch your worker. Configure resque and your workers exactly as you would otherwise.
h3. Detect the processing state
Processing detection is built in. We take advantage of Redis since it should already be running, and we can keep our #{attachment_name}_processing
field out of our MongoDB and into a more temporary key store. The temporary image url isn't saved anywhere, so you'll have to specify that on your own, but it's easy to use:
@user = User.find(1)
url = @user.avatar.processing? ? "/images/missing.png" : @user.avatar.url
h2. Contributing
Checkout out CONTRIBUTING for more info.
FAQs
Unknown package
We found that mongoid_paperclip_queue demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.