Mange / roadie-rails

Making HTML emails comfortable for the Rails rockstars
MIT License
363 stars 65 forks source link

Setting `roadie_options` to nil raise TypeError #8

Closed PikachuEXE closed 10 years ago

PikachuEXE commented 10 years ago
def roadie_options
  Rails.env == 'test' ? nil : super
end

I need this to make test work

def roadie_options
  if Rails.env == 'test'
    return Roadie::Rails::Options.new({
      asset_providers: [
        Roadie::NullProvider.new,
      ],
    })
  end

  super
end
Mange commented 10 years ago

Thanks for the excellent bug report. I'll take a look at it now.

Mange commented 10 years ago

Please try master and see if it works. If not, please provide a stack trace. I'd also like to know if you are using Mailer or Automatic.

PikachuEXE commented 10 years ago

I am using Roadie::Rails::Automatic. master seems fine :)

PikachuEXE commented 10 years ago

Oops wrong code makes false positive :S Stack trace:

TypeError - can't dup NilClass:
   () Users/PikachuEXE/.rvm/gems/ruby-2.0.0-p481/bundler/gems/roadie-rails-7710af3db03c/lib/roadie/rails/automatic.rb:7:in `block in mail'
   () Users/PikachuEXE/.rvm/gems/ruby-2.0.0-p481/bundler/gems/roadie-rails-7710af3db03c/lib/roadie/rails/automatic.rb:5:in `mail'
  sendgrid (1.2.0) lib/sendgrid.rb:168:in `mail'
  app/mailers/listing_mailer.rb:13:in `confirm_listing_posting_mail'
  actionpack (4.0.5) lib/abstract_controller/base.rb:189:in `process_action'
  actionpack (4.0.5) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
  activesupport (4.0.5) lib/active_support/callbacks.rb:383:in `_run__1754334639015393547__process_action__callbacks'
  activesupport (4.0.5) lib/active_support/callbacks.rb:80:in `run_callbacks'
  actionpack (4.0.5) lib/abstract_controller/callbacks.rb:17:in `process_action'
  actionpack (4.0.5) lib/abstract_controller/base.rb:136:in `process'
  actionpack (4.0.5) lib/abstract_controller/rendering.rb:44:in `process'
  actionmailer (4.0.5) lib/action_mailer/base.rb:503:in `process'
  actionmailer (4.0.5) lib/action_mailer/base.rb:497:in `initialize'
  actionmailer (4.0.5) lib/action_mailer/base.rb:480:in `method_missing'
  app/mailers/mail_preview.rb:103:in `confirm_listing_posting_mail'
  mail_view (2.0.4) lib/mail_view.rb:101:in `build_mail'
  mail_view (2.0.4) lib/mail_view.rb:40:in `call'
  mail_view (2.0.4) lib/mail_view.rb:20:in `call'
  actionpack (4.0.5) lib/action_dispatch/journey/router.rb:71:in `block in call'
  actionpack (4.0.5) lib/action_dispatch/journey/router.rb:59:in `call'
  actionpack (4.0.5) lib/action_dispatch/routing/route_set.rb:674:in `call'
  rack-pjax (0.7.0) lib/rack/pjax.rb:12:in `call'
  omniauth (1.2.1) lib/omniauth/strategy.rb:186:in `call!'
  omniauth (1.2.1) lib/omniauth/strategy.rb:164:in `call'
  meta_request (0.3.0) lib/meta_request/middlewares/app_request_handler.rb:13:in `call'
  rack-contrib (1.1.0) lib/rack/contrib/response_headers.rb:17:in `call'
  meta_request (0.3.0) lib/meta_request/middlewares/headers.rb:16:in `call'
  meta_request (0.3.0) lib/meta_request/middlewares/meta_request_handler.rb:13:in `call'
  bullet (4.11.3) lib/bullet/rack.rb:12:in `call'
  http_accept_language (2.0.1) lib/http_accept_language/middleware.rb:13:in `call'
  rack-mobile-detect (0.4.0) lib/rack/mobile-detect.rb:164:in `call'
  mixpanel (4.1.1) lib/mixpanel/middleware.rb:29:in `call'
  rack-google-analytics (0.14.0) lib/rack/google-analytics.rb:20:in `_call'
  rack-google-analytics (0.14.0) lib/rack/google-analytics.rb:17:in `call'
  versionist (1.3.0) lib/versionist/middleware.rb:39:in `_call'
  versionist (1.3.0) lib/versionist/middleware.rb:17:in `call'
  warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
  warden (1.2.3) lib/warden/manager.rb:34:in `call'
  rack (1.5.2) lib/rack/etag.rb:23:in `call'
  rack (1.5.2) lib/rack/conditionalget.rb:25:in `call'
  rack (1.5.2) lib/rack/head.rb:11:in `call'
  remotipart (1.2.1) lib/remotipart/middleware.rb:27:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/flash.rb:241:in `call'
  rack (1.5.2) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.5.2) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/cookies.rb:486:in `call'
  activerecord (4.0.5) lib/active_record/query_cache.rb:36:in `call'
  activerecord (4.0.5) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.0.5) lib/active_support/callbacks.rb:373:in `_run__1809210898451628919__call__callbacks'
  activesupport (4.0.5) lib/active_support/callbacks.rb:80:in `run_callbacks'
  actionpack (4.0.5) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/reloader.rb:64:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
  airbrake (4.0.0) lib/airbrake/rails/middleware.rb:13:in `call'
  better_errors (1.1.0) lib/better_errors/middleware.rb:84:in `protected_app_call'
  better_errors (1.1.0) lib/better_errors/middleware.rb:79:in `better_errors_call'
  better_errors (1.1.0) lib/better_errors/middleware.rb:56:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.0.5) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.0.5) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.0.5) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.0.5) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.0.5) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.0.5) lib/rails/rack/logger.rb:20:in `call'
  quiet_assets (1.0.3) lib/quiet_assets.rb:23:in `call_with_quiet_assets'
  actionpack (4.0.5) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
  rack (1.5.2) lib/rack/runtime.rb:17:in `call'
  activesupport (4.0.5) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
  rack (1.5.2) lib/rack/lock.rb:17:in `call'
  actionpack (4.0.5) lib/action_dispatch/middleware/static.rb:64:in `call'
  rack-cors (0.2.9) lib/rack/cors.rb:54:in `call'
  rack-mini-profiler (0.9.2) lib/mini_profiler/profiler.rb:215:in `call'
  rack (1.5.2) lib/rack/deflater.rb:25:in `call'
  rack (1.5.2) lib/rack/sendfile.rb:112:in `call'
  airbrake (4.0.0) lib/airbrake/user_informer.rb:16:in `_call'
  airbrake (4.0.0) lib/airbrake/user_informer.rb:12:in `call'
  railties (4.0.5) lib/rails/engine.rb:511:in `call'
  railties (4.0.5) lib/rails/application.rb:97:in `call'
  unicorn (4.8.3) lib/unicorn/http_server.rb:576:in `process_client'
  unicorn (4.8.3) lib/unicorn/http_server.rb:670:in `worker_loop'
  unicorn (4.8.3) lib/unicorn/http_server.rb:525:in `spawn_missing_workers'
  unicorn (4.8.3) lib/unicorn/http_server.rb:140:in `start'
  unicorn (4.8.3) bin/unicorn:126:in `<top (required)>'
   () Users/PikachuEXE/.rvm/gems/ruby-2.0.0-p481/bin/unicorn:23:in `<main>'
   () Users/PikachuEXE/.rvm/gems/ruby-2.0.0-p481/bin/ruby_executable_hooks:15:in `<main>'
Mange commented 10 years ago

Ouch. How about now?

Mange commented 10 years ago

I've added some integration tests for this now, so I'm confident it should work by now. A new release is imminent; just waiting for CI.

Mange commented 10 years ago

Version 1.0.2 is now released. Reopen if it didn't actually work.