Where do I put plain old Ruby objects?

Hey all,

I’ve been doing rails for a couple years now but this is my first time in the mailing list.

My question is this:

I’ve got a little objects housing some data, more or less like a struct with an initializer. What is the “Rails way” regarding arbitrary objects like this? Do I just stick it in the ‘model’ directory? or may ‘lib’?



Hi Josh,

I put them anywhere I feel appropriate. In my project:

  • app/service_objects/

  • app/presenters

  • app/jobs

  • lib/utilities

I don’t think there are any rules, just follow a convention that works for your project.



Assuming you mean classes then I would put them models. Then it is
easy to add the tests. Timothy is right though, do whatever seems
appropriate for your project.