46

Let's say I have a Dog and I want to store if it is trained in Rails. Conventionally, Ruby methods that return booleans have names that end with ?. Should I call the database column trained?, or should I call the database column trained and have a method

class Dog
  def trained?
    trained
  end
end

The latter option seems inefficient, particularly when I have lots of boolean fields.

Or is there some other alternative I'm missing?

Peter
  • 127,331
  • 53
  • 180
  • 211

1 Answers1

68

You should call it trained. Define it in your schema with a type of :boolean. You can refer to it as trained? and everything will magically work.

So says http://www.ruby-forum.com/topic/60847

fkoessler
  • 6,932
  • 11
  • 60
  • 92
Kevin Peterson
  • 7,189
  • 5
  • 36
  • 43