Our very own Viljami Salminen has an article about his Responsive Nav JavaScript plugin up on Smashing Magazine.
When we run our build suites on Travis Pro the bundling step takes the most time by a wide margin (aside from the test script itself).
Uploading the completed gem bundle to S3 can shorten the total build time by several minutes.
The Unbelievably Amazing Kiskonians, Matias, Vesa, Virgil and Joni have joined forces to bring to you, as part of Rails Rumple 2012 competition, the kindest bug reporting tool on the planet, Oh Dear.
Oh Dear guides your users through the traumatic experience of having your web application explode right in their face. It provides developers with valuable insight like the operating system, browser name and version, the scenario in which the problem occurred, and other technical aspects of the platform your dear visitors have used to access your application.
Oh Dear, among the things mentioned above, provides an administrative interface for its user through which developers can track the history of their bug reports.
Tired of inconclusive emails or phone calls during your free time? Go check out our new app at http://www.ohdear.io now!
If you like it, feel free to give our Rails Rumble entry top points:http://railsrumble.com/entries/338-oh-dear
If you’ve been building websites during the past two years you must know that the web doesn’t live on a desk anymore. The reality is that we now need to test our work on multiple devices, instead of just few desktop browsers. All this is easier said than done. It’s easy when you have a dozen devices laying on the desk in front of you, but what about the rest of us? Devices are expensive and the landscape is ever expanding.
That is the reason why we decided to set up an open device lab to Kisko’s office. ‘Open’ meaning that anyone can pop round, use the devices freely and contribute by lending their old devices to us.
Read more about the project from @viljamis’ blog →

Good news everyone! Splendid Bacon has now been updated to Rails 3.2.6 and added to Travis CI.
The update to Rails 3.2.6 includes numerous improvements, including updates to almost all the dependency gems, removal of unnecessary dependencies, easier deployment, and other bug reports.
We’ve also removed the Pictos font and replaced it with Font Awesome (we should never have included Pictos in the public repository in the first place).
- Current build status:

- Get the latest version of Splendid Bacon from GitHub: https://github.com/kiskolabs/splendidbacon
After procrastinating over open sourcing Splendid Bacon, we’ve finally just dumped the clutch and just done it.
You can find the repository at https://github.com/kiskolabs/splendidbacon and pull requests will be accepted gladly.
We’ve also included a list of the most pressing problems that should be addressed in the README.
Active Merchant Integrations have not been documented that well, so I decided to document my current understanding of it here. Please feel free to contribute your thoughts.
When to use integration instead of gateway
Basically always when your payment method means that the user leaves to a remote site to complete the payment.
Step by step guide to create a new integration
Generation
Checkout Active Merchant from Github
Run:
script/generate integration YourIntegration
This will create few files:
lib/active_merchant/billing/integrations/YourIntegration.rb lib/active_merchant/billing/integrations/YourIntegration/helper.rb lib/active_merchant/billing/integrations/YourIntegration/notification.rb test/unit/integrations/YourIntegration_module_test.rb test/unit/integrations/helpers/YourIntegration_helper_test.rb test/unit/integrations/notifications/YourIntegration_notification_test.rb
Integration Module (lib/active_merchant/billing/integrations/YourIntegration.rb)
Here you can configure module wide stuff such as service_url and what is sent to Notification class.
Helper (lib/active_merchant/billing/integrations/YourIntegration/helper.rb)
Here you configure how the payment form is created.
1. Initialize - initialize the form, insert hidden fields, fetch the md5secret
2. Mappings - defines form fields and field mappings between ActiveMerchant and your payment provider
3. form_fields - actions you might want to do after form is generated, such as calculate checksums
Notification (lib/active_merchant/billing/integrations/YourIntegration/notification.rb)
Notification is called when the user comes back to site (return_url). Check the app example later.
First you need to again map received parameters (your payment provider -> ActiveMerchant).
Then depending on the request type (POST/GET) you need to parse the request accordingly and then acknowledge the notification. In our case (LINK LINK) this means calculating the checksum and check that it matches with the one got from payment provider.
Testing
Testing is pretty straight forward. Check our examples here:
Your app
Integration to your app has three parts
Settings - you probably want to set your payment provider details (merchant_id and authcode in our case) in an initializer.
View - then you need implement the view for payment. This is done with the payment_service_for validator. In our case it looks something like this (non-dynamic product):
And then finally the controller part. For the return url you need a matching action:
That’s it :) If you do create your own integration, please create a pull request for ActiveMerchant. Instructions here: https://github.com/Shopify/active_merchant/wiki/Contributing
- Antti

We’re sorry to announce that we’ll cease operating our Splendid Bacon service at the end next month (31st April 2012).
While we loved the service at first, we never managed to dedicate enough resources to the project to make it into a service that we ourselves would use actively. And as we don’t use Splendid Bacon ourselves, for the past year it has languished with almost no development.
While the hosted service is getting shut down at the end of April, we’re still evaluating whether it would be possible to release it as an open source project in the near future.
— Antti Salonen
— Kisko Labs quote of the day