I have a Rails app that uses a lot of custom statistics code I wrote, things like calculating the mean and standard deviation of an array of numbers, or calculating statistical significance tests.
Where do I put all this code? It’s not tied to any database object, so I’m guessing it shouldn’t go into /models. And if I understand correctly, /app/helpers is only for helper functions called from your views, so I don’t think it should go there. Am I supposed to put my statistics code into /lib?
In general, I’m not sure where I’m supposed to put helper libraries that are called from my models.
As an aside, you can definitely have models that aren’t tied to database tables, but they should still be classes that represent “things” in your domain, in my opinion. So I still wouldn’t put them in /models, but not because of anything to do with the database.
I would put them in /lib, yes. Note that they won’t be loaded by Rails automatically, so you’ll want to add
requirestatements in an initializer.