With "attaching an event handler once" you possibly mean one of these two things: Register a function for an event...

makandra dev
github.com

Gem to provide nice looking urls ("/blog/the-greatest-bug-i-never-fixed"). If you don't need anything too special (like i18n for the urls...

It's generally not trivial to change a datetime's seconds, minutes, etc in SQL. Here is how it works...

Occasionally some complex query must be processed on the database because building thousands of Ruby objects is impracticable.

...means that every require 'spec/something' must now be require 'rspec/something'. In spec_helper.rb, Spec::Runner.configure becomes RSpec.configure It has become really hard to extend specific example groups in rspec-rails (e.g...

makandra dev

To change RAM size, VDISK size or VCPU count of an openstack instance you have to use nova resize. You...

In your Cucumber features you can't really click hidden elements when using Selenium (it does work for a plain...

The way MySQL's FULLTEXT tokenizer splits text into word tokens might not always be what you need. E.g. it...

makandra dev

If you use a form (or form fields) multiple times inside one view, Rails will generate the same id attributes...

So you probably see the following error trace within your Passenger log file if you got here:

We ran into trouble when adding additional compute units to our railscomplete Hosting environment lately. VM-instances on the new...

Regular expressions can have something called "zero-width look-behind assertions". This means that you want a pattern to be preceded by another pattern, but not include the preceding pattern...

...y matches y in xyz but not in syz. There are also negative look-behind assertions, e.g. (?<!x)y matches y in syz but not in xyz. Unfortunately look-behind...

I don't like those buttons inside the header area of a message that Thunderbird 3 put there. Though the...

...of Javascript. This gives you a much higher framerate. If Transit has too many bells and whistles for your taste, and you'd like to roll your own animate replacement...

...Use transactions where possible. It is the faster option all around, and will scale better than deletion as your number of records grow. Use deletion for Selenium features (here's...

When you run code inside a $watch expression that forces a repaint (e.g. by computing an element's width, or...

Enumerable#all? returns true for an empty collection. This totally makes sense but you have to think about it when...

stackoverflow.com

%p #{link_to "label", "url"}! Haml is a great engine for writing shorter, readable HTML. However, there is...

After updating your RubyGems, you will probably not be able to run Capistrano any more, but receive an error similar...

When you run rake db:rollback and nothing happens, you are probably missing the latest migration file (or have not...

stackoverflow.com

...a quick fix, put the following code into your config/application.rb to restore the previous behavior and make the warning go away. Make sure to put it above all other config.i18n...

Note: This technique is confusing and slows down your test suite. Copy the attached code to features/support. This gets you...

While deploying an Ruby update to an old application these days, we encountered the following misleading error: *** [err :: some-host.makandra.de] You...

medium.com

Root Insurance runs their application as a monolithic Rails application – but they've modularized it inside its repository. Here is...