Web Development
meets German Engineering.

Kraut Computing is a small web development shop based in Berlin, Germany.
We build nifty web apps - some for customers and some of our own.
We contribute to open-source and share what we learn along the way.
Have a project you want to talk about? Get in touch!

Kraut Computing is a small
web development shop
based in Berlin, Germany.
We build nifty web apps - some for
customers and some of our own.
We contribute to open-source and
share what we learn along the way.
Have a project you want to talk about?
Get in touch!

Services

RAILS DEVELOPMENT

We have been building Ruby on Rails apps since 2008. Languages and frameworks come and go but Rails has proven to be the best choice for most web apps.

PROTOTYPING

Need something done yesterday? More than once we went from initial contact to launch in less than two weeks. That's not yesterday but pretty close.

REVIEW AND RESCUE

Did you inherit a Rails app with low code quality, performance bottlenecks and no tests? We will review the code thoroughly and get it back on track.

Projects

ProductWidgets

PRODUCT WIDGETS

As a tool for bloggers and other publishers, ProductWidgets lets you place beautiful and interactive widgets instead of traditional web banners on your website. Recommend relevant products to your visitors and earn a share for every sale you generate!

View project View all projects

Open Source

View all repositories

Blog

Testing async ActionMailer jobs with ActiveJob in Minitest

One of the fantastic new libraries that came with Rails 4.2 is ActiveJob - a standard interface to background queues like Sidekiq, Resque or Delayed Job. It lets you write your jobs using the ActiveJob syntax and decide on a background queue later. And if - a year from now - you are not happy with your choice of background queue anymore, you can switch it out without having to rewrite any of the worker code.

But the real power of ActiveJob is that it abstracts the implementation details of the different queuing backends and lets you develop additional tools and libraries around that central API. Any gem can now safely enqueue background jobs for example, without having to know what queue backend the application uses.

An important aspect of background jobs is the ability to test them of course. You want to make sure that a certain piece of code really enqueues a job, and that its the right job with the right parameters!

Read on