Overlord

NOTES: the previous file code_registration.feature was cruft that should have been removed before submission. Gone now.

About: Given(/the bomb is not started/) do

I've changed it to be "given a new session". It's still a no-op though, just because capybara always initializes a new session when used in the way it is here. But, I still though it bears mention in the test because it is a necessary precondition of the test even though it happens to be granted for free. Because it is necessary for the test to be valid, does it make sense to include it even if it gets to be a no-op in practice?

I really liked your advice about using attr_accessor even when intending to override one of the resultant accessors.

About multiline strings: I'm actually using a tactic that Blake suggested he would prefer. His bent is that splitting strings across lines pretty much shouldn't be done. So he advised me to move long strings into a string table where they're not polluting code readability but can also be left unbroken up to reasonable lengths. Would you advise the same?

I see onmouse(down | up | click)  for every button? Are you trying to account for mobile vs. desktop? Also can be DRY'ed up. Seems like you are repeating overall the same code for buttons multiple times. I would move the button-action bindings to a JS script/tag (script at the bottom if you don't want to check for document.ready/load stuff), and maybe using erb partials to render the buttons???