Code Monkey home page Code Monkey logo

delayed_paperclip's People

Contributors

bertg avatar bigfleet avatar cpjolicoeur avatar d--j avatar eagleas avatar grempe-thrillcall avatar joshk avatar jrallison avatar jstorimer avatar tommeier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

delayed_paperclip's Issues

Process completion notification

This should be tagged as a feature request, but there doesn't appear to be a list of tags when opening an issue for delayed_paperclip.

It would be nice to have a way to know when the image is finished processing. This would allow websites, for example, to render a placeholder loading spinner after an image is submitted, allowing the spinner to be replaced by the true image via AJAX when it is done processing and available for display.

"Stack level too deep" when has_attached_file :attachment

I ran into an amusing error. If your paperclip attachment is named "attachment", then it blows up with a "stack level too deep" exception when uploading a file. The culprit is this:

(lib/delayed/paperclip.rb)
define_method "#{name}_changed?" do
  file_attachment_changed?(name)
end

When #{name} is :attachment, it ends up overwritting Delayed::Paperclip::InstanceMethods#attachment_changed?

I recommend making a note in the readme that you shouldn't name your attachment :attachment, or renaming Delayed::Paperclip::InstanceMethods#attachment_changed? in your source.

Thanks for making delayed_paperclip. I really appreciate this excellent plugin.

warning: parenthesize argument(s) for future version

I'm getting some warnings:

/usr/lib/ruby/gems/1.8/gems/delayed_paperclip-0.6.5/lib/delayed/paperclip.rb:88: warning: parenthesize argument(s) for future version  
/usr/lib/ruby/gems/1.8/gems/delayed_paperclip-0.6.5/lib/delayed/paperclip.rb:89: warning: parenthesize argument(s) for future version

Paperclip would not delete original file if attachment_processing=true

Paperclip uses Paperclip::Attachment#most_appropriate_url when populating @queue_for_delete with filenames to be deleted if a instance with attachment is destroyed.

However this method is overriden by delayed_paperclip.

In case of

  • A new attachment is assigned to model instance
  • model is saved (:original style file is stored at the location specified by :path) and a new job to make styles is put into resque queue
  • The model is attempted to be destroyed when worker has not yet generated styles (attachment_processing=true)

Paperclip will not delete original-style file because #most_appropriate_url will return the missing.png url. (I'd like to focus, the instance is not dirty, has an id, file is stored at its correct location, but attachment_processing=true).

This orphaned original-style file will be on stored filesystem forever (untill it is manually removed).

Probably Paperclip::Attachment#url should be also overriden to pass style_name attribute to most_appropriate_url, which would return correct interpolation string if the instance is not dirty and requested style is :original.

after_post_process callbacks not working ?

While using DJ paperclip, my callbacks are not working,
My callbacks :
#after_file_post_process :add_notification
#after_post_process :add_notification

They are working when I use after_create, but I need the after post process to send a mail using the thumbnail version of the attachement.

Am I doing something wrong ?

Incompatibility with Paperclip 2.3.15?

I recently did a bundle update and my paperclip version updated to the recently released 2.3.15.

Following the update, i noticed some weird behaviour with the delayed paperclip jobs. Once the job was processed it would reinitialize the same job in the DB and then process the image again, over and over again and never stop.

DelayedPaperclipJob completed after 3.6699
DelayedPaperclipJob completed after 3.4298
DelayedPaperclipJob completed after 3.4421
DelayedPaperclipJob completed after 3.9339
DelayedPaperclipJob completed after 4.0015
DelayedPaperclipJob completed after 5.0911

The initial job would be removed from the database (but replaced with another one at that time). Therefore, I would never get the notification on completion of the jobs:

1 jobs processed at 0.9559 j/s

I tried processing an image without using delayed_paperclip via paperclip 2.3.15 and everything works as expected.

Has anyone else noticed this? I ended up rolling back to paperclip 2.3.12 and delayed_paperclip behaves as desired.

Nested attributes

I'm using a nested attributes form, and it appears to cause an issue with delayed_paperclip.

I have a model called 'MediaSet', and it accepts_nested_attributes_for many 'MediaAssets'. I have a form for MediaSet that allows you to add as many mediaAssets as you'd like.

However, in this setup, the processing happens when I click submit (for MediaSet) and then again later in a delayed job.

Any thoughts?

does it have to check for columns for the processing flag?

It's a bit of a feature request:
I have my own processing flag set in the model and used an embedded association á là railscast 189.

I'd like to add methods in the model like _attachment_name__processing that deal with my flag rather than having two flags: one for delayed paperclip and one for the encoding api.
The problem is that dp checks for the existence of the column, not for a resond_to

Why is there a check for an actual column? Would you consider accepting a patch that alters the beahviorur?

undefined method most_appropriate_url with Paperclip 2.4.5

Hello !

Here is my bug :

/Users/rnaud/.rvm/gems/ruby-1.9.2-p290/bundler/gems/rails-b7c7f08c87a8/activesupport/lib/active_support/core_ext/module/aliasing.rb:31:in alias_method': undefined methodmost_appropriate_url' for class `Paperclip::Attachment' (NameError)

using in my gem file :
Using paperclip (2.4.5) from git://github.com/thoughtbot/paperclip.git (at master)
Using delayed_paperclip (2.4.5.1) from git://github.com/jstorimer/delayed_paperclip.git (at master)

how can i custom :path and :url ?

like this:

....
before_create :randomize_file_name

def randomize_file_name
extension = File.extname(avatar_file_name).downcase
self.avatar.instance_write(:file_name, "#{ActiveSupport::SecureRandom.hex(16)}#{extension}")
end

has_attached_file :avatar,
:styles => {:medium => "300x300>", :thumb => "100x100>"}#,
:url => "/system/:attachment/#{Time.now.year}/w#{Time.now.strftime("%W")}/:basename_:style.:extension",
:path => ":rails_root/public/system/:attachment/#{Time.now.year}/w#{Time.now.strftime("%W")}/:basename_:style.:extension"
....

and then:

only have :original pic , and :medium pic, :thumb pic not created, i dont know why ?

Thank you very much ! my english very pool, sorry

by -- Kevin Li

processing column doesn't switch to false

i added image_processing column to my model, and now it stays true, though processing is finished, images are ready. do i need to implement flag switcher by hand?
== AddPhotoProcessing: migrating =============================================
-- add_column(:photos, :image_processing, :boolean)
-> 0.0014s
== AddPhotoProcessing: migrated (0.0015s) ====================================

added a photo

irb(main):002:0> Photo.all.collect{|p|[p.id, p.image_processing]}
=> [[5, nil], [6, nil], [7, nil], [8, nil], [10, nil], [11, nil], [13, true]]

Unable to setup test environment

Hello Jesse,

Trying to write some tests for issue #21 and following the CONTRIBUTING file, I got an exception when running rake test.

Full log:

~/Code/Ruby/gems/delayed_paperclip% bundle install
Fetching source index for http://rubygems.org/
Using activesupport (3.0.9) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.9) 
Using arel (2.0.10) 
Using tzinfo (0.3.28) 
Installing activerecord (3.0.9) 
Using cocaine (0.1.0) 
Using daemons (1.1.4) 
Using delayed_job (2.1.4) 
Using paperclip (2.3.12) 
Using delayed_paperclip (0.6.5) from source at /Users/owahab/Code/Ruby/gems/delayed_paperclip 
Installing json (1.5.3) with native extensions 
Installing mocha (0.9.12) 
Installing rack (1.3.0) 
Installing redis (2.2.1) 
Installing redis-namespace (1.0.3) 
Installing tilt (1.3.2) 
Installing sinatra (1.2.6) 
Installing vegas (0.1.8) 
Installing resque (1.17.1) 
Using sqlite3 (1.3.3) 
Using sqlite3-ruby (1.3.3) 
Using bundler (1.0.10) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
~/Code/Ruby/gems/delayed_paperclip% rake test
(in /Users/owahab/Code/Ruby/gems/delayed_paperclip)
/Users/owahab/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -I"lib:lib" "/Users/owahab/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/delayed_paperclip_test.rb" "test/resque_paperclip_test.rb" 
:29:in `require': no such file to load -- test/test_helper (LoadError)
    from :29:in `require'
    from test/delayed_paperclip_test.rb:1:in `'
    from /Users/owahab/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `load'
    from /Users/owahab/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `block in '
    from /Users/owahab/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each'
    from /Users/owahab/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `'
rake aborted!
Command failed with status (1): [/Users/owahab/.rvm/rubies/ruby-1.9.2-p180/...]

(See full trace by running task with --trace)
zsh: exit 1     rake test
~/Code/Ruby/gems/delayed_paperclip% 

PGError in process_job (delayed_paperclip.rb)

paperclip: 2.4.5
delayed_paperclip: 2.4.5.1

I'm hosted in Heroku and I'm uploading an image to S3 using Paperclip. The weird part is that the image gets uploaded sometimes and sometimes the job fails. I think this issue might be similar to #32, but that code is no longer relevant.

The failed job is:

Worker:      265c393b-5c64-4b94-b243-602683ffeccd:1 on PAPERCLIP at just now Retry or Remove
Class:       DelayedPaperclip::Jobs::Resque
Arguments:   "Tag", 321, "image"
Exception:   ActiveRecord::StatementInvalid
Error:       PGError: SSL error: decryption failed or bad record mac : SELECT tablename FROM pg_tables WHERE schemaname = ANY (current_schemas(false))

/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb:505:in `exec'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb:505:in `block in query'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `block in log'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.0.11/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/abstract_adapter.rb:200:in `log'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb:501:in `query'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb:614:in `tables'
/app/vendor/bundle/ruby/1.9.1/gems/arel-2.0.10/lib/arel/table.rb:131:in `table_cache'
/app/vendor/bundle/ruby/1.9.1/gems/arel-2.0.10/lib/arel/table.rb:126:in `tables'
/app/vendor/bundle/ruby/1.9.1/gems/arel-2.0.10/lib/arel/table.rb:122:in `table_exists?'
/app/vendor/bundle/ruby/1.9.1/gems/arel-2.0.10/lib/arel/table.rb:101:in `[]'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/relation.rb:317:in `primary_key'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:301:in `find_one'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:291:in `find_with_ids'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/relation/finder_methods.rb:107:in `find'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/base.rb:444:in `find'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_paperclip-2.4.5.1/lib/delayed_paperclip.rb:30:in `process_job'
/app/vendor/bundle/ruby/1.9.1/gems/delayed_paperclip-2.4.5.1/lib/delayed_paperclip/jobs/resque.rb:13:in `perform'

Relevant code:
Line 30 corresponds to instance_klass.constantize.find(instance_id). in https://github.com/jstorimer/delayed_paperclip/blob/61eb0d2d0eacee70350a22460032fed024c54a0a/lib/delayed_paperclip.rb#L30

    def process_job(instance_klass, instance_id, attachment_name)
      instance_klass.constantize.find(instance_id).
        send(attachment_name).
        process_delayed!
    end

Update: Running "Tag".constantize.find(321).send("image") in the console returns the image object for the tag with id 321 (just as it should: Tag.find(321).image), no errors.

The gem does not work with the latest versions of paperclip

Hello,

I was using the paperclip gem without any versioning, always updating, but it happens that the gem delayed paperclip is failing on latest versions of the paperclip gem.

I went up to ref "65e8d4f6de50732d8e1b", after this one, the delayed jobs keep looping, the log says that the job was completed but keeps doing it, over and over again.

Is this only happening to me ? Is there a way to have a more verbose log to check it ?
Things go back to normal if I remove the gem from my Gemfile, but obviously slower.

Thanks for your help !

Custom styles being ignored

Using delayed_paperclip 0.7.2, delayed_job 2.1.4 and paperclip 2.4.4, no custom style is being processed at all.

has_attached_file :image, :styles => { :thumb => "100x100#", :large => "640x640>" },
  :storage => :filesystem,
  :path => "tmp/uploads/:class/:id_:style.:extension"

process_in_background :image

I get one file, the original. If I comment out the process_in_background :image line, all styles are uploaded and everything works fine.

No more url_without_processed method

(This would probably have it's place in a mailing list, but I couldn't find any dedicated to delayed_paperclip)

Hi everyone,

I noticed that the url_with_processed was removed in delayed_paperclip 2.4.5.1 and with it the ability to call url_without_processed. Which was quite an handy method to allow people to download content before its thumbnail was generated. I looked through the source code but I couldn't find a new alternative to this method.
I've patched it for now, but I was wondering if there was in fact a better way of accessing the attachment url?

I see that the next version of paperclip allows us to pass our own url_generator, very much looking forward to that.

Confusion dealing with delayed_paperclip

Hey,

All the blogs and documentation for the exact use case is a little confusing.

Does delayed_paperclip only delay the resizing of images? Or does it delay the file upload to s3 as well?

From my testing it seems that it does not delay the file upload to s3. Is that true?

different value for paperclip's queued_for_write[:original].path

Paperclip's queued_for_write[:original].path appears to have a different value under delayed_paperclip.

paperclip

/tmp/paperclip-postprocess-20120219-10150-1yaig50.wav

delayed_paperclip

/tmp/paperclip-postprocess-20120219-10150-1yaig50

Paperclip Version: 2.4.5
Delayed Paperclip Version: 2.4.5.1

"\xFF" from ASCII-8BIT to UTF-8 - rails 3 branch

I've been looking at source, but not sure if its with delayed job, or paperclip, or this gem. I've been trying both delayed_jobs collectiveidea, and tobi. Any help on where to look would be appreciated.

"\xFF" from ASCII-8BIT to UTF-8
/.rvm/gems/ruby-1.9.2-p0/gems/paperclip-2.3.3/lib/paperclip/storage.rb:197:in to_file' /.rvm/gems/ruby-1.9.2-p0/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:209:inreprocess!'
/.rvm/gems/ruby-1.9.2-p0/bundler/gems/delayed_paperclip-ddb7c1e85bf6/lib/delayed/jobs/delayed_paperclip_job.rb:4:in block in perform' /.rvm/gems/ruby-1.9.2-p0/bundler/gems/delayed_paperclip-ddb7c1e85bf6/lib/delayed/jobs/delayed_paperclip_job.rb:16:inprocess_job'
/.rvm/gems/ruby-1.9.2-p0/bundler/gems/delayed_paperclip-ddb7c1e85bf6/lib/delayed/jobs/delayed_paperclip_job.rb:3:in `perform'

Tests don't pass on 1.9.2

  1. Failure:
    test_processed_true_when_delayed_jobs_completed(DelayedPaperclipTest) [test/delayed_paperclip_test.rb:107]:
    Failed assertion, no message given.

  2. Failure:
    test_unprocessed_image_returns_missing_url(DelayedPaperclipTest) [test/delayed_paperclip_test.rb:119]:
    Expected //system/images/1/original/12k.png/ to match "/images/original/missing.png".

22 tests, 27 assertions, 2 failures, 0 errors, 0 skips

New version appears to break passenger rails

When trying to start my rails app (passenger, ruby enterprise), I get this error:
undefined method url' for classPaperclip::Attachment'

The issue is solved by reverting to the earlier release of delayed_paperclip.

2.4.5.0 -> Only working with explicit 'include DelayedPaperclip::Glue'

Hi,

Latest version (2.4.5.0) is working great with the latest Paperclip (2.4.5).

However, on load of a rake task or anything, with Rails 3.1 it is failing to run the Railtie for DelayedPaperclip .

For example :

class Image < ActiveRecord::Base
   has_attached_file :image

  process_in_background :image
end
bundle exec rake paperclip:refresh CLASS=Image
rake aborted!
undefined method `process_in_background' for #<Class:0x007f904cbed0c8>

Then explicitly including DelayedPaperclip::Glue it works :

class Image < ActiveRecord::Base
   include DelayedPaperclip::Glue

   has_attached_file :image

  process_in_background :image
end

Not sure why the Rails init commands aren't working yet...

DelayedPaperclipJob failed with TypeError: can't convert Array into String

Hello all,
I have a problem with this model:

class Photo < ActiveRecord::Base
has_attached_file :pic,
:styles => { :medium => "300x300>",
:thumb => "100x100>" },
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => "/photos/:id/:style/:filename"
belongs_to :property
process_in_background :pic
end

Really simple, it uploads to S3 without any problems but it doesn't do the post processing. It keep throwing this error:

failed with TypeError: can't convert Array into String

I think is breaking in the interaction between paperclip and s3 in this block on delayed_paperclip_job.rb

process_job do
  instance.send(attachment_name).reprocess!
  instance.send("#{attachment_name}_processed!")
end

Thanks

Incompatible with Paperclip ~>=2.3.16 (infinite save loop)

Starting paperclip somewhere around 2.3.16, saving attachment with delayed_paperclip causes infinite saving loop as the model's attachment_updated_at attribute gets "touched" upon saving, and delayed_paperclip is recognizing that attachment has changed.

I am not sure exactly which version of Paperclip breaks delayed_paperclip, but I have determined that 2.3.11 works, while 2.3.16 or 2.4.1 (latest currently) doesn't.

May not be handling hash properly?

Using the following values for that attachment:

...
:path => "/:view_key/:style/:hash",
:use_timestamp => false,
:hash_secret => "hash.secret",
:hash_data => ":class/:attachment/:id/:style/:updated_at"
...

The process works, and the styles are generated on S3, but the hash is different. The image from paperclip/rails perspective thinks that it has a different path with a different hash than what is actually out on S3.

S3:
/l3n08oq9wqo18wgq8454/post/d3610c38d4d3c9efc8fa3ad92bbebe0be2236d49

Rails/paperclip:
/l3n08oq9wqo18wgq8454/post/75953d644e3684c584d25e401ee250b0ce36ca78

If I remove the hashed path requirements, the code works great and happily places the files out on S3 with the default pathing.

Thoughts as to what may be the problem with using a hashed path? Is it that the code is not interrogating the hash_data and hash_secret when creating the file out on s3? or perhaps a mismatch in using the updated_at field?

Thanks,
Chris.

file_processing is throwing an error with Postegresql

After that the file is never processed, and nothing is added to the delayed jobs queue.

  SQL (0.6ms)  COMMIT
  AREL (0.8ms)  UPDATE "photos" SET file_processing = 1 WHERE (id = 1071)
PGError: ERROR:  column "file_processing" is of type boolean but expression is of type integer
LINE 1: UPDATE "photos" SET file_processing = 1 WHERE (id = 1071)
                                              ^
HINT:  You will need to rewrite or cast the expression.
: UPDATE "photos" SET file_processing = 1 WHERE (id = 1071)
PGError: ERROR:  column "file_processing" is of type boolean but expression is of type integer
LINE 1: UPDATE "photos" SET file_processing = 1 WHERE (id = 1071)

undefined method `value'' for AWS::S3::S3Object:Class

Hi,

Using PaperClip 2.4.5, DelayedPaperClip 2.4.5.1, Aws/S3 0.6.2 and DelayedJobs 2.0.7 with Rails 2.3.14

Upon adding a paperclip image that needs to have multiple transformations applied to it I get the above error with this stack trace:

/Library/Ruby/Gems/1.8/gems/paperclip-2.4.5/lib/paperclip/storage/s3.rb:210:in to_file''
/Library/Ruby/Gems/1.8/gems/paperclip-2.4.5/lib/paperclip/attachment.rb:282:inreprocess!''
/Library/Ruby/Gems/1.8/gems/delayed_paperclip-2.4.5.1/lib/delayed_paperclip/attachment.rb:42:in process_delayed!''
/Library/Ruby/Gems/1.8/gems/delayed_paperclip-2.4.5.1/lib/delayed_paperclip.rb:30:inprocess_job''
/Library/Ruby/Gems/1.8/gems/delayed_paperclip-2.4.5.1/lib/delayed_paperclip/jobs/delayed_job.rb:28:in perform''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/backend/base.rb:74:ininvoke_job''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:122:in run''
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:62:intimeout''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:122:in run''
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:inrealtime''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:121:in run''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:173:inreserve_and_run_one_job''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:106:in work_off''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:105:intimes''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:105:in work_off''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:80:instart''
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in realtime''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:79:instart''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:76:in loop''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/worker.rb:76:instart''
/Library/Ruby/Gems/1.8/gems/delayed_job-2.0.7/lib/delayed/tasks.rb:13

Is this a PaperClip issue or a DelayedPaperclip issue ?

Any fixes ?

Rspec not enqueuing the processing job

After upgrading to the latest version of delayed_paperclip (from 0.6.5 to 0.7.2), when testing a custom paperclip processor with, the processing was never perfomed. The reason was that delayed_paperclip uses the after_commit callback. Since rspec uses transactional fixtures the after_commit is not triggered.

The solution to this problem for me was to disable the transactional fixtures for that single spec:

describe "with transactional fixtures disabled" do
  self.use_transactional_fixtures = false

  after(:each) do
    # Cleanup
  end

  it "should run my custom processor" do
    # Assigning file to model
    Delayed::Worker.new.work_off # Launching DJ worker
    # Test that the processing has been performed
  end
end

It took me some time to figure it out, hope this helps.

README doesn't entirely reflect reality

The README says:

To have the missing image url be outputted by paperclip while the image is being processed, all you need to do is add a #{attachment_name}_processing column to the specific model you want to enable this feature for.

...but the various files in lib/delayed/jobs all mark the attachment as having been processed before they call reprocess! If the processing takes a significant amount of time, then the user will see a broken-image (as opposed to the missing-image) for the period of time between processing starting and finishing.

Versioning

Hey all interested,

I was thinking about changing the versioning of this gem. Why you ask? Well,

  • there have been quite some questions about what versions of delayed_paperclip are compatible with what versions of paperclip
  • paperclip has been moving really fast lately, and it has become a pain to keep one version of delayed_paperclip compatible with several versions of paperclip
  • testing against multiple versions of paperclip, and the multiple versions of rails/ruby paperclip supports, plus testing against multiple versions of delayed_job and resque just becomes hell

So what do I propose? We number this gem exactly as paperclip. So:

  • For each paperclip release, there will be a delayed_paperclip release (solves the issues above)
  • New delayed_paperclip features will only be added to the latest version

But there is still one issue here: How do we handle bugfix releases within one version of paperclip? I would suggest using a 4 number version: 2.3.4.0 where the last number would reflect a bugfix release of delayed_paperclip. I think this is compatible with rubygems.

What do you think?

undefined method `quoted_table_name' for Paperclip::Attachment:Class

I'm running the latest master branch of Paperclip (as at 2nd Feb 10) and the 0.5.0 version of the delayed_paperclip gem, but when I add the 'process_in_background' call to my model (as described in the rdoc) I'm seeing this error:

undefined method `quoted_table_name' for Paperclip::Attachment:Class
vendor/rails/activerecord/lib/active_record/reflection.rb:187:in `quoted_table_name'
vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb:90:in `construct_sql'
vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb:6:in `initialize'
vendor/rails/activerecord/lib/active_record/associations.rb:1246:in `new'
vendor/rails/activerecord/lib/active_record/associations.rb:1246:in `attachment'

I'm running Rails 2.3.4. Am I doing something wrong?

If before_post_process filter returns false the resource_processing field is not updated

I'm not sure wether this is a bug or by design, when the before_post_process filter returns false, the processing is halted but the resource_processing field is not updated.

I used to have this code

before_post_process :image?
process_in_background :resource

def image?
  resource_content_type =~ /image/ ? true : false
end

And after switching to delayed_paperclip 2.4.5.1 (and paperclip 2.4.5) I had to adapt my code to :

before_post_process :image?
process_in_background :resource

def image?
  return true if resource_content_type =~ /image/
  self.update_attribute(:resource_processing, false) # Had to add this line 
  false
end

Or is there a different way to come around this problem?

Rails 3 and Paperclip callback problems

Trying to use this with Rails 3 and Paperclip 2.3.1.1 I get this:

Loading development environment (Rails 3.0.0.beta)
irb(main):001:0> User.methods
NoMethodError: undefined method `before_avatar_post_process' for #<Class:0x10673eef0>
    from /Library/Ruby/Gems/1.8/gems/activerecord-3.0.0.beta/lib/active_record/base.rb:1300:in `method_missing'
    from /Library/Ruby/Gems/1.8/gems/delayed_paperclip-0.6.4/lib/delayed/paperclip.rb:47:in `send'
    from /Library/Ruby/Gems/1.8/gems/delayed_paperclip-0.6.4/lib/delayed/paperclip.rb:47:in `process_in_background'
    from /Users/garrett/src/sites/clientend/app/models/user.rb:16
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:396:in `load_without_new_constant_marking'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:396:in `load_file'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:537:in `new_constants_in'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:395:in `load_file'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:275:in `require_or_load'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:441:in `load_missing_constant'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:91:in `const_missing_not_from_s3_library'
    from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing'
    from /Library/Ruby/Gems/1.8/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:103:in `const_missing'
    from (irb):1

JasonKing's commit for Paperclip and Rails 3 breaks the before_#{name}_post_process http://github.com/JasonKing/paperclip/commit/9c9082814f628a618f625158fc8507ef1578dacc . Do you have any suggestions as to what we can do to make this work again?

Thanks in advance.

Job error with Resque

Hi,

When I try to upload a image I get the error:

obs: I'm using Ruby EE, Rails 2.3.8, Redis 2.0.5 and Resque 1.0.10

 uninitialized constant ResquePaperclipJob

/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:443:in `load_missing_constant'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:80:in `const_missing'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:92:in `const_missing'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/helpers.rb:58:in `const_get'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/helpers.rb:58:in `constantize'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/helpers.rb:57:in `each'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/helpers.rb:57:in `constantize'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/job.rb:174:in `payload_class'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/job.rb:111:in `perform'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/worker.rb:157:in `perform'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/worker.rb:124:in `work'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/worker.rb:110:in `loop'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/worker.rb:110:in `work'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/resque-1.10.0/lib/resque/tasks.rb:24
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/home/rinaldi/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/gems/rake-0.8.7/bin/rake:31
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/bin/rake:19:in `load'
/home/rinaldi/.rvm/gems/ree-1.8.7-2010.02@rails238/bin/rake:19

[attachment_name]_processing column causes strange behavior

After added [attachment_name]_processing column, paperclip would first upload the image to [rails root]/public/main_photos/original/missing.png (my attachment is name main_photo) instead of the usual public/system/main_photos/:id/original/. Then when Delayed_job kicked off paperclip, which processed the thumbnail image and put it into /public/main_photos/thumb/missing.png, instead of the usual public/system/main_photos/:id/thumb/

I am running paperclip gem 2.3.1.1, rails 2.3.4, delayed_paperclip gem 0.6.1

Mongoid compatibility ticket

Hello,
I'm trying to use delayed_paperclip with Mongoid and Resque, definitely there are some key points that we have to adjust to make the gem play nice with Mongoid.

  1. Instance ids
    https://github.com/jstorimer/delayed_paperclip/blob/master/lib/delayed/paperclip.rb#L30

Here for both delayed_job and resque we do read_attribute(:id). The problem is that while Mongoid supports the read_attribute method, :id doesn't return what we expect, it returns nil. Either we have to call .id directly or read_attribute(:_id).to_s

  1. column_exists? method fault
    https://github.com/jstorimer/delayed_paperclip/blob/master/lib/delayed/paperclip.rb#L83

In Mongoid it should be something like:

self.class.fields.keys.include?(column.to_s)

I'm currently looking for other problems, to make the gem compatible an effort should be made with some conditionals.

Thumb styles are not always correct when dealing w/ models/submodels

I have 2 models, one of which is a subclass of the other. They use different styles for the same attachment.

When the parent model processes an image as a delayed_job, it is sometimes processed using the styles specified in the child class.

I'm not sure if this behavior is a problem with delayed_paperclip, delayed_job, or paperclip. I'll post an update if/when I find out more.

Couldn't find Photo with ID=X

I'm using delayed_paperclip (tried both 0.6.5 and recently 0.7.0) with paperclip on Heorku using S3 as storage.

I have a site where users can upload multiple photos for storage with a single put. The photos are then re-sized into two sizes. With both versions (0.6.5 and 0.7.0) it would work spottily when users sent more than one photo in an upload (e.g. 5 photos). Some photos would get background processed and others would fail.

When I look through the logs I've put some statements in so I can see that the Resque.enqueue statements are being called. However, often a few of the enqueued processes simply do not run or the enqueue itself is failing.

I should also note its a separate worker that may be processing the image (i.e. a different thread, potentially on a different machine). That worker can see the resque queue though, and can get the file from S3. When I run a reprocess! manually from the heroku console it works fine.

Only one image processed when uploading multiple files

When I upload multiple files, only the last one gets processed successfully. The other original image is in S3, but no thumbnails. Sometimes I get the following error in delayed_jobs.last_error and sometimes I get no error and the jobs are auto-deleted from the database.

instance_klass: Image
instance_id: 38
attachment_name: :file
| The specified key does not exist.
/usr/lib/ruby/gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/error.rb:38:in raise' /usr/lib/ruby/gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:72:inrequest'
/usr/lib/ruby/gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:88:in get' /usr/lib/ruby/gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/object.rb:134:invalue'
/usr/lib/ruby/gems/1.8/gems/paperclip-2.3.1.1/lib/paperclip/storage.rb:193:in to_file' /usr/lib/ruby/gems/1.8/gems/paperclip-2.3.1.1/lib/paperclip/attachment.rb:212:inreprocess!'
/usr/lib/ruby/gems/1.8/gems/delayed_paperclip-0.6.5/lib/delayed/jobs/delayed_paperclip_job.rb:4:in perform' /usr/lib/ruby/gems/1.8/gems/delayed_paperclip-0.6.5/lib/delayed/jobs/delayed_paperclip_job.rb:16:inprocess_job'
/usr/lib/ruby/gems/1.8/gems/delayed_paperclip-0.6.5/lib/delayed/jobs/delayed_paperclip_job.rb:3:in perform' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:235:ininvoke_job'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:113:in run_with_lock' /usr/lib/ruby/1.8/timeout.rb:56:intimeout'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:113:in run_with_lock' /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.4/lib/active_support/core_ext/benchmark.rb:10:inrealtime'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:112:in run_with_lock' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:173:inreserve_and_run_one_job'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:172:in each' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:172:inreserve_and_run_one_job'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:219:in work_off' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:218:intimes'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/job.rb:218:in work_off' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/worker.rb:30:instart'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.4/lib/active_support/core_ext/benchmark.rb:10:in realtime' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/worker.rb:29:instart'
/usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/worker.rb:26:in loop' /usr/lib/ruby/gems/1.8/gems/delayed_job-1.8.5/lib/delayed/worker.rb:26:instart'
script/delayed_job:24
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:215:in call' /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:215:instart_proc'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:192:in call' /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:192:incall_as_daemon'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:219:in start_proc' /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:255:instart'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/controller.rb:69:in run' /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:188:inrun_proc'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in call' /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:incatch_exceptions'
/usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:187:in `run_proc'
script/delayed_job:13

undefined method `constantize' for 56:Fixnum

I get the following error after I tried running delayed_paperclip jobs via script/job_runner:

undefined method constantize' for 56:Fixnum /usr/local/lib/ruby/gems/1.8/gems/delayed_paperclip-0.5.0/lib/delayed/jobs/delayed_paperclip_job.rb:3:inperform'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:215:in invoke_job' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:93:inrun_with_lock'
/usr/local/lib/ruby/1.8/timeout.rb:62:in timeout' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:93:inrun_with_lock'
/usr/local/lib/ruby/1.8/benchmark.rb:308:in realtime' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:92:inrun_with_lock'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:153:in reserve_and_run_one_job' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:152:ineach'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:152:in reserve_and_run_one_job' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:199:inwork_off'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:198:in times' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/job.rb:198:inwork_off'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/worker.rb:28:in start' /usr/local/lib/ruby/1.8/benchmark.rb:308:inrealtime'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/worker.rb:27:in start' /usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/worker.rb:24:inloop'
/usr/local/lib/ruby/gems/1.8/gems/delayed_job-1.8.4/lib/delayed/worker.rb:24:in `start'
script/job_runner:4

failed with RuntimeError: cannot generate tempfile `/tmp/...

my config:
has_attached_file :data,
:storage => :ftp,
:url => /:attachment/:style/:filename",
:path => "/var/www/ais/public/assets/:attachment/:style/:filename",
:ftp_credentials => Rails.root.join('config', 'paperclipftp.yaml')

Any Suggestions?

Thumb styles not created when using #{attachment_name}_processing

I can successfully generate thumb styles when an avatar_processing column is not present, however adding the column results in only the original file being saved. When debugging, it appears that the original image is not present at the time Attachment.process_delayed! is called, whereas without using the avatar_processing column the original does exist.

I am using delayed_paperclip 0.7.2, Paperclip 2.3.16 and Rails 3.1.1. Any help appreciated - thanks.

undefined method error for "process_in_background" when using with resque

trying to add delayed_paperclip to existing functional paperclip installation. i use resque for background tasks and deploy on heroku, so am using foreman locally and a procfile to start-up processes, etc.

when i add the process_in_background to my model that has the paperclip attachment, and then fire up the server i get a resque exception indicating that the rake task failed due to process_in_background being an undefined method.

any help appreciated. i;m hoping running in the background will alleviate another issue i have with paperclip related to dynamic styles and the timing of the instantiation of the attributes....

[Feature] girl_friday as backend

I'm making a small app running on Heroku. I'm doing paperclip with ftp storage, and it easily times out on large files. I'm interested in delayed_paperclip, but I want to avoid using extra workers to keep it free, so DJ and Resque are out.

Do you think it'd be possible to use https://github.com/mperham/girl_friday as an option instead?

delayed destroy

I've found in one of my apps that waiting for s3 to respond to destroy requests for multiple thumbnails sometimes takes more time than I want the user to have to wait. Would you be open to a patch that handles deleting files via delayed job or provides an option to do so?

undefined method `post_processing='

ruby 1.8.7, rails 2.3.8, paperclip 2.3.0, delayed_paperclip 0.7.2

i get the error below when i do a simple @user.photo.file? call (or any variations, like @user.photo.url(:medium).) it's probably not a bug but there's a dearth of info out there. (also got same error using paperclip 2.3.8)

the error stack:
NoMethodError (undefined method post_processing=' for #<Paperclip::Attachment:0x10761f528>): /usr/local/lib/ruby/gems/1.8/gems/delayed_paperclip-0.7.2/lib/delayed_paperclip.rb:94:inattachment_for'
/usr/local/lib/ruby/gems/1.8/gems/delayed_paperclip-0.7.2/lib/delayed_paperclip.rb:93:in tap' /usr/local/lib/ruby/gems/1.8/gems/delayed_paperclip-0.7.2/lib/delayed_paperclip.rb:93:inattachment_for'
paperclip (2.3.0) lib/paperclip.rb:227:in photo' app/controllers/users_controller.rb:57:inshow'

the model:
has_attached_file :photo,
:styles => { :large => ["500x500^", :jpg],
:medium => ["200x200^", :jpg],
:thumb => ["80x80^", :jpg],
:tiny => ["48x48^", :jpg] },

:storage => :s3,
:s3_credentials => {:access_key_id => "XYZ",
:secret_access_key => "XYZ"},
:path => ":class/:attachment/:id/:style.:extension",
:bucket => "#{Rails.env}.media.domain.com"

process_in_background :photo

undefined method `url' for class `Paperclip::Attachment'

I make use of the the :url option for my paperclip attachments. Could this be causing this? The stack trace doesn't seem to help much. It actually prevents passenger from starting:

0 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/aliasing.rb 33 in alias_method' 1 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/module/aliasing.rb 33 inalias_method_chain'
2 /Users/brendon/Projects/SpikeAtSchool/vendor/plugins/delayed_paperclip/lib/delayed/paperclip.rb 105
3 /Library/Ruby/Site/1.8/rubygems/custom_require.rb 31 in gem_original_require' 4 /Library/Ruby/Site/1.8/rubygems/custom_require.rb 31 inrequire'
5 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb 156 in require' 6 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb 521 innew_constants_in'
7 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb 156 in require' 8 /Users/brendon/Projects/SpikeAtSchool/vendor/plugins/delayed_paperclip/lib/delayed_paperclip.rb 1 9 /Library/Ruby/Site/1.8/rubygems/custom_require.rb 31 ingem_original_require'
10 /Library/Ruby/Site/1.8/rubygems/custom_require.rb 31 in require' 11 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb 156 inrequire'
12 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb 521 in new_constants_in' 13 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb 156 inrequire'
14 /Users/brendon/Projects/SpikeAtSchool/vendor/plugins/delayed_paperclip/rails/init.rb 1 in evaluate_init_rb' 15 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/plugin.rb 158 inevaluate_init_rb'
16 /Library/Ruby/Gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/reporting.rb 11 in silence_warnings' 17 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/plugin.rb 154 inevaluate_init_rb'
18 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/plugin.rb 48 in load' 19 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/plugin/loader.rb 38 inload_plugins'
20 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/plugin/loader.rb 37 in each' 21 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/rails/plugin/loader.rb 37 inload_plugins'
22 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb 369 in load_plugins' 23 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb 165 inprocess'
24 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb 113 in send' 25 /Library/Ruby/Gems/1.8/gems/rails-2.3.5/lib/initializer.rb 113 inrun'
26 /Users/brendon/Projects/SpikeAtSchool/config/environment.rb 16
27 /Library/Ruby/Site/1.8/rubygems/custom_require.rb 31 in gem_original_require' 28 /Library/Ruby/Site/1.8/rubygems/custom_require.rb 31 inrequire'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.